:root {
  --accent: #168fca;
  --accent-strong: #087db8;
  --accent-soft: #d9f5ff;
  --background: #b9ebf4;
  --panel: rgba(245, 253, 255, .88);
  --panel-strong: rgba(255, 255, 255, .97);
  --ink: #16394b;
  --muted: #668794;
  --line: rgba(24, 113, 151, .16);
  --shadow: 0 24px 70px rgba(12, 79, 111, .22), 0 3px 12px rgba(12, 79, 111, .16);
  --wallpaper-image: none;
  color-scheme: light;
  font-family: "Microsoft YaHei UI", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
*:focus { outline: none !important; -webkit-focus-ring-color: transparent; }
html, body, #app { width: 100%; height: 100%; margin: 0; overflow: hidden; }
body { color: var(--ink); background: var(--background); }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid color-mix(in srgb, var(--accent) 30%, transparent); outline-offset: 1px; }

/* Telegram-like scrollbars shared by conversation lists, messages and dialogs. */
* { scrollbar-width: thin; scrollbar-color: rgba(91, 116, 126, .46) transparent; }
*::-webkit-scrollbar { width: 5px; height: 5px; }
*::-webkit-scrollbar-track,
*::-webkit-scrollbar-corner { background: transparent; }
*::-webkit-scrollbar-thumb {
  min-height: 32px;
  border-radius: 999px;
  background: rgba(91, 116, 126, .42);
}
*::-webkit-scrollbar-thumb:hover { background: rgba(68, 94, 105, .64); }
*::-webkit-scrollbar-button { display: none; width: 0; height: 0; }

#app {
  position: relative;
  background:
    linear-gradient(125deg, rgba(255,255,255,.76), transparent 42%),
    var(--wallpaper-image),
    radial-gradient(circle at 82% 14%, #eefeff 0, transparent 30%),
    linear-gradient(145deg, var(--background), #7ecedc 100%);
  background-size: cover;
  background-position: center;
}
#app::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px); background-size: 38px 38px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent 75%); }
.wallpaper-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .35; pointer-events: none; }
.glow-one { width: 420px; height: 420px; right: 7%; top: -130px; background: rgba(255,255,255,.9); }
.glow-two { width: 360px; height: 360px; left: 25%; bottom: -180px; background: var(--accent-soft); }
.screen { position: absolute; inset: 0; z-index: 1; }
.is-hidden { display: none !important; }
.visually-hidden { position: fixed; width: 1px; height: 1px; opacity: 0; pointer-events: none; }

.glass-window { border: 1px solid rgba(255,255,255,.8); background: var(--panel); box-shadow: var(--shadow); backdrop-filter: blur(25px) saturate(1.15); -webkit-backdrop-filter: blur(25px) saturate(1.15); }
.login-screen { display: grid; place-items: center; padding: 24px; }
.login-window { position: relative; width: min(460px, 96vw); border-radius: 18px; overflow: hidden; animation: window-in .45s cubic-bezier(.2,.9,.2,1); }
@keyframes window-in { from { opacity: 0; transform: translateY(14px) scale(.975); } }
.login-hero { height: 122px; padding: 25px 25px 20px; display: flex; align-items: center; gap: 14px; color: white; background: linear-gradient(135deg, rgba(3,104,165,.98), rgba(23,172,215,.88)), radial-gradient(circle at 30% 20%, white, transparent 25%); position: relative; }
.login-hero::after { content: ""; position: absolute; inset: auto 0 0; height: 38px; background: linear-gradient(to top, rgba(255,255,255,.24), transparent); clip-path: polygon(0 72%, 8% 48%, 17% 64%, 27% 35%, 38% 56%, 48% 20%, 61% 52%, 70% 32%, 81% 58%, 91% 28%, 100% 54%, 100% 100%, 0 100%); }
.brand-orb { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; font-weight: 900; font-size: 18px; background: linear-gradient(145deg,#fff7a6,#ffbd35); border: 2px solid rgba(255,255,255,.8); color: #1879aa; box-shadow: 0 8px 24px rgba(0,58,102,.25), inset 0 1px white; transform: rotate(-3deg); }
.brand-copy { display: grid; gap: 4px; z-index: 1; }.brand-copy strong { font-size: 24px; letter-spacing: .4px; text-shadow: 0 2px 5px rgba(0,62,91,.22); }.brand-copy small { color: rgba(255,255,255,.84); }
.window-actions { margin-left: auto; align-self: flex-start; display: flex; gap: 3px; z-index: 2; }.icon-btn { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }.icon-btn:hover { background: rgba(255,255,255,.22); }
.login-body { padding: 28px 30px 15px; display: grid; grid-template-columns: 78px 1fr auto; gap: 15px; align-items: center; background: rgba(255,255,255,.7); }
.login-method-tabs{height:38px;padding:5px 26px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px;background:rgba(255,255,255,.78);border-bottom:1px solid var(--line)}
.login-method-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:12px;cursor:pointer}.login-method-tabs button.active{border-bottom-color:var(--accent);color:var(--accent-strong);font-weight:700}
.login-method-pane{background:rgba(255,255,255,.7)}
.qr-login-pane{height:136px;padding:13px 34px}.qr-login-card{height:110px;display:grid;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:18px}.qr-login-card>img{width:110px;height:110px;border:1px solid var(--line);border-radius:9px;background:#fff;object-fit:contain}.qr-login-card>div{min-width:0;display:grid;gap:7px}.qr-login-card strong{font-size:15px}.qr-login-card small{color:var(--muted);font-size:11px;line-height:1.55}.qr-login-card button{justify-self:start}
.login-avatar-wrap { position: relative; align-self: start; }.login-avatar { width: 72px; height: 72px; border-radius: 15px; object-fit: cover; border: 3px solid white; box-shadow: 0 4px 14px rgba(15,80,104,.22); }
.status-dot { position: absolute; right: -1px; bottom: -1px; width: 14px; height: 14px; border-radius: 50%; border: 2px solid white; background: #36c86f; }.status-dot.busy { background: #ff5f56; }.status-dot.invisible, .status-dot.offline { background: #a8b8be; }
.login-fields { display: grid; gap: 9px; }.field-line { position: relative; display: grid; grid-template-columns: 42px 1fr; align-items: center; min-height: 38px; border: 1px solid var(--line); border-radius: 10px; background: white; overflow: hidden; }.field-line > span { color: var(--muted); padding-left: 11px; font-size: 13px; }.field-line input,.field-line select { width: 100%; height: 100%; border: 0; background: transparent; padding: 8px 10px 8px 2px; outline: 0; color: var(--ink); }.inline-eye { position: absolute; right: 4px; border: 0; background: transparent; color: #78a0af; cursor: pointer; }
.login-account-picker{position:relative;min-width:0}.login-account-picker .field-line{width:100%}.login-account-picker .field-line input{padding-right:34px}.login-account-dropdown-btn{position:absolute;z-index:2;right:3px;top:3px;width:30px;height:30px;padding:0;border:0;border-radius:7px;background:transparent;color:#7296a4;font-size:0;line-height:1;display:grid;place-items:center;cursor:pointer}.login-account-dropdown-btn svg{display:block;width:14px;height:14px;overflow:visible}.login-account-dropdown-btn path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.login-account-dropdown-btn:hover,.login-account-dropdown-btn.active{background:var(--accent-soft);color:var(--accent-strong)}.login-account-menu{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 4px);max-height:224px;padding:4px;border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fff;box-shadow:0 12px 28px rgba(10,54,72,.2)}.login-account-option{width:100%;min-width:0;padding:7px 8px;border:0;border-radius:8px;background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;cursor:pointer}.login-account-option:hover{background:var(--accent-soft)}.login-account-option img{width:34px;height:34px;border-radius:50%;object-fit:cover}.login-account-option>span{min-width:0;display:grid;gap:2px}.login-account-option strong,.login-account-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-account-option strong{font-size:12px}.login-account-option small,.login-account-option em{color:var(--muted);font-size:9px;font-style:normal}.login-account-menu-empty{padding:13px;text-align:center;color:var(--muted);font-size:11px}
.login-links { display: grid; align-self: stretch; align-content: space-around; }.text-btn { border: 0; padding: 2px 0; background: transparent; color: var(--accent-strong); cursor: pointer; font-size: 13px; }.text-btn:hover { text-decoration: underline; }
.login-options { padding: 6px 30px 14px 123px; display: flex; gap: 14px; align-items: center; background: rgba(255,255,255,.7); font-size: 13px; color: var(--muted); white-space: nowrap; }.login-options label { cursor: pointer; }.login-inline-links{margin-left:auto;display:flex;align-items:center;gap:0}.login-inline-links .text-btn{font-size:13px}.login-inline-links .text-btn+.text-btn{margin-left:10px}.proxy-link { margin-left: auto; }
.login-footer { padding: 14px 28px; border-top: 1px solid var(--line); display: flex; align-items:center; justify-content: space-between; background: rgba(236,249,253,.84); }
.login-footer-actions{display:flex;align-items:center;gap:12px}.login-footer-actions .text-btn{font-size:11px}
.login-window.qr-mode .login-options{opacity:0;pointer-events:none}.login-window.qr-mode #loginBtn{visibility:hidden}
.primary-btn,.secondary-btn { min-height: 36px; border-radius: 9px; padding: 7px 18px; border: 1px solid transparent; cursor: pointer; font-weight: 600; }.primary-btn { color: white; border-color: color-mix(in srgb, var(--accent) 76%, #004b6e); background: linear-gradient(to bottom, color-mix(in srgb, var(--accent) 75%, white), var(--accent-strong)); box-shadow: inset 0 1px rgba(255,255,255,.45), 0 4px 10px color-mix(in srgb, var(--accent) 20%, transparent); }.primary-btn:hover { filter: brightness(1.06); }.secondary-btn { color: var(--ink); border-color: var(--line); background: rgba(255,255,255,.78); }.secondary-btn:hover { background: white; }
.login-btn { min-width: 108px; letter-spacing: 4px; }.login-hint { position: absolute; bottom: -30px; left: 0; right: 0; text-align: center; color: rgba(13,66,87,.75); font-size: 12px; }

.desktop-screen { padding: 24px; display: grid; grid-template-columns: 370px minmax(520px, 940px); gap: 32px; align-items: center; justify-content: center; }
.main-panel { width: 370px; height: min(780px, calc(100vh - 48px)); border-radius: 18px; overflow: hidden; display: grid; grid-template-rows: auto auto 1fr auto; transition: top .25s, transform .36s cubic-bezier(.2,.8,.2,1), opacity .25s; z-index: 10; }
.main-panel.docked { position: fixed; top: 0; left: 24px; height: min(780px, calc(100vh - 16px)); border-radius: 0 0 18px 18px; }.main-panel.docked.auto-hidden { transform: translateY(calc(-100% + 13px)); opacity: .96; }
.dock-reveal { display: none; position: fixed; z-index: 9; left: 24px; top: 0; width: 370px; height: 18px; cursor: pointer; }.dock-reveal.visible { display: block; }.dock-reveal span { width: 65px; height: 5px; border-radius: 0 0 8px 8px; background: rgba(255,255,255,.8); display: block; margin: auto; box-shadow: 0 2px 5px rgba(0,65,90,.25); }
.profile-header { position: relative; min-height: 102px; padding: 20px 17px; display: flex; align-items: center; gap: 12px; color: white; background: linear-gradient(135deg, color-mix(in srgb,var(--accent) 78%, #04507d), color-mix(in srgb,var(--accent) 68%, #8eeaff)); overflow: hidden; }.profile-header::after { content:""; position:absolute; width:180px; height:180px; right:-75px; top:-100px; border-radius:50%; border:24px solid rgba(255,255,255,.12); }.avatar-button { position: relative; width: 60px; height: 60px; padding: 0; border: 0; background: none; cursor: pointer; z-index: 1; }.avatar-button img { width:100%;height:100%;object-fit:cover;border-radius:14px;border:2px solid white;box-shadow:0 4px 12px rgba(0,52,80,.28); }.profile-summary { min-width: 0; flex: 1; z-index: 1; }.name-row { display: flex; align-items: center; gap: 7px; }.name-row strong { font-size: 18px; max-width: 135px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.name-row span { padding: 2px 5px; border-radius: 5px; font-size: 9px; background: rgba(255,218,72,.9); color:#885c00; }.profile-summary p { margin: 6px 0 0; font-size: 12px; color: rgba(255,255,255,.8); white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }.panel-actions { display:flex; gap:2px; align-self:flex-start; z-index:1; }.panel-actions .icon-btn { color:white; }
.search-box { margin: -8px 14px 11px; z-index: 2; height: 38px; border-radius: 10px; background: rgba(255,255,255,.96); box-shadow: 0 5px 16px rgba(13,94,126,.12); display: flex; align-items:center; gap:8px; padding: 0 10px; }.search-box span { font-size: 20px; color: var(--accent); }.search-box input { border:0;outline:0;min-width:0;flex:1;color:var(--ink);background:transparent; }.search-box input::placeholder{color:rgba(91,123,136,.5);opacity:1}.search-box kbd { font-size:9px;color:#93a9b1;border:1px solid #d8e3e7;border-radius:4px;padding:2px 4px;background:#f7fafb; }
.panel-body { min-height:0; display:grid;grid-template-columns:52px 1fr;border-top:1px solid var(--line); }.side-toolbar { padding:9px 7px;display:flex;flex-direction:column;gap:0;background: color-mix(in srgb,var(--accent) 10%,rgba(255,255,255,.74));border-right:1px solid var(--line); }.rail-btn { position:relative;width:38px;height:38px;border:0;border-radius:11px;background:transparent;cursor:pointer;font-size:18px; }.rail-btn:hover,.rail-btn.active { color:var(--accent-strong);background:rgba(255,255,255,.92);box-shadow:0 3px 9px rgba(17,101,135,.1); }.unread-badge { position:absolute;right:-2px;top:-2px;min-width:16px;height:16px;padding:0 4px;display:grid;place-items:center;border-radius:9px;background:#ff5764;color:white;border:2px solid #eaf7fa;font:normal 9px/1 sans-serif; }.unread-badge:empty{display:none}.rail-spacer{flex:1;}.side-toolbar>.rail-btn+.rail-btn{margin-top:10px;}
.list-area{min-width:0;min-height:0;display:grid;grid-template-rows:auto 1fr;background:rgba(255,255,255,.55);}.list-heading{padding:10px 14px 8px;display:flex;align-items:center;justify-content:space-between;}.list-heading>div{display:grid;gap:2px}.list-heading strong{font-size:14px}.list-heading small{font-size:10px;color:var(--muted)}.round-btn{width:28px;height:28px;border:0;border-radius:50%;background:transparent;cursor:pointer}.round-btn:hover{background:var(--accent-soft)}
.tab-pane{display:none;min-height:0;overflow:auto;padding:0 7px 8px}.tab-pane.active{display:block}.contact-list{display:grid;gap:3px}.contact-card{position:relative;display:flex;align-items:center;gap:10px;padding:9px 8px;border-radius:11px;cursor:pointer;border:1px solid transparent}.contact-card:hover,.contact-card.active{background:rgba(255,255,255,.93);border-color:var(--line);box-shadow:0 3px 12px rgba(17,101,135,.08)}.contact-card img{width:42px;height:42px;border-radius:11px;object-fit:cover;flex:none}.contact-card .contact-copy{min-width:0;flex:1;display:grid;gap:4px}.contact-card .contact-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.contact-card strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card time{font-size:9px;color:#9aadb4}.contact-card p{margin:0;font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-card .contact-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;background:#ff5c68;color:white;font-size:9px}.avatar-status{position:relative}.avatar-status .mini-dot{position:absolute;right:-1px;bottom:1px;width:10px;height:10px;border-radius:50%;background:#39c873;border:2px solid white}.avatar-status .mini-dot.offline{background:#aebbc0}.contact-menu{border:0;background:transparent;color:#9aadb4;cursor:pointer;padding:4px}.empty-state{text-align:center;color:var(--muted);padding:44px 12px;font-size:12px}
.group-list{display:grid;gap:7px}.contact-group{border-radius:10px;transition:.2s}.contact-group.drag-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.group-header{width:100%;display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:8px 7px;cursor:pointer;text-align:left}.group-header span{transition:transform .2s;font-size:10px}.contact-group.collapsed .group-header span{transform:rotate(-90deg)}.group-header strong{font-size:12px}.group-header small{margin-left:auto;color:var(--muted);font-size:10px}.group-contacts{display:grid;gap:2px}.contact-group.collapsed .group-contacts{display:none}.group-contacts .contact-card{padding:7px}.group-contacts .contact-card img{width:36px;height:36px}.dragging{opacity:.45}
.bottom-toolbar{height:48px;border-top:1px solid var(--line);display:flex;align-items:center;padding:0 9px;background:rgba(237,249,252,.82)}.bottom-toolbar button{height:34px;border:0;border-radius:8px;background:transparent;cursor:pointer;padding:0 9px;color:var(--muted)}.bottom-toolbar button:hover{color:var(--accent-strong);background:white}.bottom-toolbar button span{font-size:11px;margin-left:4px}.bottom-toolbar #soundBtn{margin-left:auto}

.workspace{min-width:0;width:min(940px,calc(100vw - 450px));height:min(730px,calc(100vh - 70px));display:grid;place-items:center}.welcome-card{width:min(520px,90%);padding:42px;text-align:center;border-radius:24px}.welcome-illustration{width:92px;height:92px;margin:0 auto 18px;border-radius:28px;background:linear-gradient(145deg,var(--accent-soft),white);display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px white,0 14px 30px rgba(21,120,158,.14)}.welcome-illustration img{display:block;width:100%;height:100%;object-fit:cover}.welcome-card h1{margin:0 0 8px;font-size:27px}.welcome-card p{margin:0;color:var(--muted)}.welcome-stats{margin-top:28px;padding-top:22px;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}.welcome-stats div{display:grid;gap:3px}.welcome-stats div+div{border-left:1px solid var(--line)}.welcome-stats strong{font-size:21px;color:var(--accent-strong)}.welcome-stats span{font-size:11px;color:var(--muted)}
.chat-window{width:100%;height:100%;border-radius:19px;overflow:hidden;display:grid;grid-template-rows:72px 1fr;animation:chat-in .3s ease}.chat-window.is-hidden{display:none!important}@keyframes chat-in{from{opacity:0;transform:scale(.985) translateY(8px)}}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 17px;border-bottom:1px solid var(--line);background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 12%,rgba(255,255,255,.9)),rgba(255,255,255,.86))}.chat-peer{display:flex;align-items:center;gap:11px;position:relative}.chat-peer>img{width:46px;height:46px;border-radius:13px;object-fit:cover}.chat-peer .status-dot{left:35px;right:auto}.chat-peer div{display:grid;gap:4px}.chat-peer strong{font-size:15px}.chat-peer p{margin:0;font-size:10px;color:var(--muted)}.chat-actions{display:flex;gap:4px}.chat-actions button,.compose-toolbar button{border:0;background:transparent;border-radius:8px;cursor:pointer;color:var(--muted)}.chat-actions button{width:34px;height:34px;font-size:17px}.chat-actions button:hover,.compose-toolbar button:hover{color:var(--accent-strong);background:var(--accent-soft)}.chat-content{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 205px}.conversation-column{min-width:0;min-height:0;display:grid;grid-template-rows:1fr 180px}.message-list{overflow:auto;padding:18px 22px;background:rgba(255,255,255,.52)}.date-separator{text-align:center;color:#98a9b0;font-size:9px;margin:5px 0 16px}.message-row{display:flex;gap:9px;align-items:flex-start;margin:11px 0}.message-row.mine{flex-direction:row-reverse}.message-row .msg-avatar{width:32px;height:32px;border-radius:9px;object-fit:cover}.message-bundle{max-width:70%;display:grid;gap:3px}.message-row.mine .message-bundle{justify-items:end}.message-author{font-size:9px;color:#92a5ad;padding:0 4px}.bubble{padding:9px 12px;border-radius:5px 14px 14px 14px;background:white;border:1px solid var(--line);box-shadow:0 3px 8px rgba(27,94,119,.07);font-size:13px;line-height:1.55;word-break:break-word}.mine .bubble{color:white;border-color:transparent;border-radius:14px 5px 14px 14px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 82%,white),var(--accent-strong))}.bubble img{display:block;max-width:240px;max-height:180px;border-radius:8px;margin:2px 0}.attachment-bubble{min-width:205px;display:flex;align-items:center;gap:10px}.attachment-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.22);font-size:20px}.attachment-copy{min-width:0;display:grid}.attachment-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.attachment-copy small{opacity:.78}.message-time{font-size:8px;color:#9eb0b7;padding:0 3px}.composer{position:relative;border-top:1px solid var(--line);background:rgba(255,255,255,.9);display:grid;grid-template-rows:36px 1fr 40px}.compose-toolbar{display:flex;align-items:center;padding:3px 10px;gap:2px}.compose-toolbar button{height:30px;min-width:30px;font-size:17px}.compose-toolbar #historyBtn{margin-left:auto;font-size:12px;padding:0 8px}.composer textarea{resize:none;width:100%;border:0;outline:0;padding:7px 15px;background:transparent;color:var(--ink);line-height:1.5}.composer-footer{padding:3px 10px 7px 15px;display:flex;align-items:center;justify-content:space-between}.composer-footer>span{font-size:10px;color:var(--muted)}.composer-footer .secondary-btn,.composer-footer .primary-btn{min-height:30px;padding:4px 12px;font-size:11px}.composer-footer kbd{font-size:8px;opacity:.7}.emoji-popover{position:absolute;z-index:5;left:10px;bottom:174px;width:260px;padding:10px;display:grid;grid-template-columns:repeat(7,1fr);gap:5px;border:1px solid var(--line);border-radius:13px;background:white;box-shadow:0 12px 30px rgba(20,78,103,.2)}.emoji-popover button{height:30px;border:0;border-radius:7px;background:transparent;font-size:19px;cursor:pointer}.emoji-popover button:hover{background:var(--accent-soft)}
.chat-sidebar{border-left:1px solid var(--line);background:rgba(247,252,253,.75);overflow:auto}.sidebar-cover{height:164px;display:grid;place-items:center;align-content:center;gap:9px;background:linear-gradient(145deg,var(--accent-soft),rgba(255,255,255,.8))}.sidebar-cover img{width:94px;height:94px;border-radius:26px;object-fit:cover;border:3px solid white;box-shadow:0 7px 18px rgba(16,90,119,.16)}.sidebar-cover span{font-size:10px;color:var(--muted)}.sidebar-info{padding:16px}.sidebar-info>strong{font-size:15px}.sidebar-info>p{font-size:11px;line-height:1.5;color:var(--muted);min-height:34px}.sidebar-info dl{margin:15px 0 0;padding-top:12px;border-top:1px solid var(--line);display:grid;gap:10px}.sidebar-info dl div{display:flex;justify-content:space-between;gap:8px;font-size:10px}.sidebar-info dt{color:var(--muted)}.sidebar-info dd{margin:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.modal-backdrop{position:fixed;z-index:50;inset:0;background:rgba(8,36,50,.35);backdrop-filter:blur(4px)}.modal{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-50%);width:min(580px,calc(100vw - 32px));max-height:calc(100vh - 40px);overflow:auto;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(247,253,255,.97);box-shadow:0 30px 90px rgba(1,40,60,.35);animation:modal-in .22s ease}@keyframes modal-in{from{opacity:0;transform:translate(-50%,-47%) scale(.98)}}.small-modal{width:min(440px,calc(100vw - 32px))}.modal>header{position:sticky;top:0;z-index:2;padding:16px 19px;display:flex;align-items:center;justify-content:space-between;color:white;background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 85%,#04507d),var(--accent))}.modal>header small{font-size:8px;letter-spacing:2px;opacity:.7}.modal h2{margin:2px 0 0;font-size:18px}.modal-close{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}.modal-content{padding:20px}.modal>footer{position:sticky;bottom:0;padding:12px 18px;display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);background:rgba(245,252,254,.97)}.form-stack{display:grid;gap:13px}.form-stack label,.profile-fields label{display:grid;gap:6px;font-size:11px;color:var(--muted)}.form-stack input,.form-stack select,.profile-fields input,.profile-fields select,.skin-custom input,.history-search input{width:100%;height:39px;border:1px solid var(--line);border-radius:9px;background:white;color:var(--ink);padding:8px 10px;outline:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.check-line{display:flex!important;grid-template-columns:auto 1fr;align-items:center}.check-line input{width:auto;height:auto}.form-note{margin:0;padding:10px;border-radius:9px;background:var(--accent-soft);color:var(--muted);font-size:11px;line-height:1.5}.test-result{padding:10px;border-radius:9px;background:#edf6f8;color:var(--muted);font-size:11px}.test-result.success{background:#e0f8e9;color:#198449}.test-result.error{background:#ffe9eb;color:#b83c46}.danger{color:#d5434f!important}
.group-members{margin:0 12px 16px;padding:12px 4px 0;border-top:1px solid var(--line)}
.group-members>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.group-members>header strong{font-size:12px}.group-members>header span{font-size:9px;color:var(--muted)}.group-member-count-actions{display:flex;align-items:center;gap:10px}.group-member-count-actions>button{width:23px;height:23px;padding:0;border:1px solid var(--line);background:#fff;color:var(--accent-strong);font-size:18px;line-height:19px;cursor:pointer}.group-member-count-actions>button:hover{background:var(--accent-soft)}
.group-member-list{display:grid;align-content:start;gap:0}
.group-member-row{display:flex;align-items:center;min-height:48px;padding:6px 4px;border-radius:9px}
.group-member-row+.group-member-row{margin-top:5px}
.group-member-row:hover{background:rgba(255,255,255,.72)}
.group-member-avatar{position:relative;width:36px;height:36px;flex:none}
.group-member-avatar img{display:block;width:36px;height:36px;border-radius:10px;object-fit:cover}
.group-member-avatar i{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border:2px solid #f7fcfd;border-radius:50%;background:#39c873}
.group-member-avatar i.busy{background:#f4a62a}.group-member-avatar i.offline{background:#aebbc0}
.group-member-copy{min-width:0;margin-left:5px;display:grid;gap:0}
.group-member-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.group-member-copy small{margin-top:3px;color:var(--muted);font-size:9px}
.group-member-empty{padding:22px 4px;text-align:center;color:var(--muted);font-size:10px}
.profile-modal{width:min(690px,calc(100vw - 32px))}.profile-layout{display:grid;grid-template-columns:150px 1fr;gap:24px}.avatar-editor{display:grid;justify-items:center;align-content:start;gap:10px}.avatar-editor img{width:112px;height:112px;border-radius:26px;object-fit:cover;border:4px solid white;box-shadow:0 8px 24px rgba(15,86,114,.17)}.avatar-editor small{color:var(--muted);font-size:10px}.avatar-section{padding:0 20px 20px}.section-label{display:flex;justify-content:space-between;margin-bottom:10px;font-size:11px}.section-label small{color:var(--muted)}.avatar-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.avatar-choice{padding:2px;border:2px solid transparent;border-radius:11px;background:transparent;cursor:pointer}.avatar-choice:hover,.avatar-choice.active{border-color:var(--accent);background:var(--accent-soft)}.avatar-choice img{display:block;width:100%;aspect-ratio:1;border-radius:8px}.skin-modal{width:min(610px,calc(100vw - 32px))}.skin-presets{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.skin-card{padding:6px;border:2px solid transparent;border-radius:12px;background:white;cursor:pointer}.skin-card.active{border-color:var(--accent)}.skin-card span{display:block;height:65px;border-radius:8px;margin-bottom:7px}.skin-card strong{font-size:11px}.skin-card.sky span{background:linear-gradient(145deg,#d9f8ff,#46add1)}.skin-card.mint span{background:linear-gradient(145deg,#e2fff7,#3bbca1)}.skin-card.peach span{background:linear-gradient(145deg,#fff0f2,#f18a9e)}.skin-card.night span{background:linear-gradient(145deg,#e8e6ff,#6663b4)}.skin-card.qq2009 span{border:1px solid #087fbd;background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(255,255,255,0) 45%),repeating-linear-gradient(to bottom,#8ee1fb 0,#8ee1fb 12px,#22abe6 13px,#22abe6 24px)}.skin-custom{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:12px;flex-wrap:wrap}.skin-custom label{display:flex;align-items:center;gap:7px;font-size:11px}.skin-custom input{width:38px;height:30px;padding:2px}.segment-control{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:10px;background:#e9f2f5}.segment-control button{height:32px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-size:11px}.segment-control button.active{background:white;color:var(--accent-strong);box-shadow:0 2px 7px rgba(15,80,104,.1)}.history-modal{width:min(620px,calc(100vw - 32px));height:min(680px,calc(100vh - 40px));display:grid;grid-template-rows:auto auto 1fr auto}.history-search{margin:14px 18px 0;display:flex;align-items:center;gap:7px}.history-search input{height:36px}.history-list{overflow:auto;display:grid;align-content:start;gap:11px}.history-item{padding:11px;border-radius:10px;background:white;border:1px solid var(--line)}.history-item header{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.history-item p{margin:7px 0 0;line-height:1.5;font-size:12px}.setting-list{display:grid;gap:2px}.setting-list>label,.setting-link{min-height:58px;padding:9px 4px;display:flex;align-items:center;justify-content:space-between;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.setting-list span{display:grid;gap:4px}.setting-list strong{font-size:12px}.setting-list small{font-size:10px;color:var(--muted)}.setting-link{width:100%;cursor:pointer}.setting-link b{font-size:22px;color:#9db0b7}.context-menu{position:fixed;z-index:70;width:165px;padding:6px;border:1px solid var(--line);border-radius:10px;background:white;box-shadow:0 12px 35px rgba(7,51,70,.22)}.context-menu button{display:block;width:100%;padding:8px 10px;border:0;border-radius:7px;background:transparent;text-align:left;font-size:11px;cursor:pointer}.context-menu button:hover{background:var(--accent-soft);color:var(--accent-strong)}.toast-region{position:fixed;z-index:100;right:22px;bottom:22px;display:grid;gap:8px;pointer-events:none}.toast{min-width:230px;max-width:340px;padding:11px 14px;border-radius:11px;background:rgba(17,50,64,.94);color:white;box-shadow:0 10px 30px rgba(0,30,45,.25);font-size:12px;animation:toast-in .25s ease}.toast.success{background:rgba(23,132,76,.94)}.toast.error{background:rgba(181,48,61,.94)}@keyframes toast-in{from{opacity:0;transform:translateX(16px)}}

.group-manage-list{display:grid;gap:7px;max-height:280px;overflow:auto}.group-manage-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:7px;border:1px solid var(--line);border-radius:10px;background:white}.group-manage-row input{height:34px!important;border:0!important;padding:5px!important;background:transparent!important}.group-manage-row button{width:31px;height:31px;border:0;border-radius:8px;background:#fff0f1;color:#c74652;cursor:pointer}.group-manage-row button:hover{background:#ffdfe2}.group-create-row{display:grid;grid-template-columns:1fr auto;gap:8px}.group-create-row input{height:38px;border:1px solid var(--line);border-radius:9px;background:white;padding:8px 10px;color:var(--ink)}.group-create-row .primary-btn{white-space:nowrap}

.connection-status{margin-left:auto;display:flex;align-items:center;gap:5px;padding:4px 7px;border-radius:8px;color:var(--muted);font-size:9px;background:rgba(255,255,255,.55)}.connection-status i{width:7px;height:7px;border-radius:50%;background:#aab7bc;box-shadow:0 0 0 3px rgba(170,183,188,.12)}.connection-status b{font-weight:500}.connection-status.connecting i{background:#f2a93b;animation:status-pulse 1.2s infinite}.connection-status.online{color:#168651;background:#e4f8ec}.connection-status.online i{background:#29bd6b;box-shadow:0 0 0 3px rgba(41,189,107,.14)}.bottom-toolbar #soundBtn{margin-left:2px}@keyframes status-pulse{50%{opacity:.35}}
.call-overlay{position:fixed;z-index:45;inset:0;display:grid;place-items:center;padding:28px;background:rgba(4,20,31,.72);backdrop-filter:blur(18px);animation:modal-in .25s ease}.call-stage{position:relative;width:min(900px,96vw);height:min(650px,90vh);overflow:hidden;border:1px solid rgba(255,255,255,.22);border-radius:26px;background:radial-gradient(circle at 50% 38%,#315b6e,#102934 66%,#07171f);box-shadow:0 36px 100px rgba(0,0,0,.48);color:white}.call-stage::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,.32),transparent 30%,transparent 65%,rgba(0,0,0,.5))}.call-stage #remoteVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent}.call-avatar-stage{position:absolute;inset:0;display:grid;place-items:center;transition:opacity .25s}.call-avatar-stage>img{width:150px;height:150px;border-radius:40px;object-fit:cover;border:4px solid rgba(255,255,255,.88);box-shadow:0 18px 50px rgba(0,0,0,.3);z-index:2}.call-waves{position:absolute;width:150px;height:150px}.call-waves i{position:absolute;inset:-20px;border:1px solid rgba(255,255,255,.26);border-radius:50%;animation:call-wave 2.3s infinite}.call-waves i:nth-child(2){animation-delay:.7s}.call-waves i:nth-child(3){animation-delay:1.4s}@keyframes call-wave{from{transform:scale(.8);opacity:.8}to{transform:scale(1.75);opacity:0}}.call-overlay.video-active .call-avatar-stage{opacity:0}.call-overlay.video-active .call-stage{background:#071117}.call-stage #localVideo{position:absolute;z-index:4;right:22px;top:22px;width:190px;height:128px;object-fit:cover;border-radius:16px;background:#132e3a;border:2px solid rgba(255,255,255,.65);box-shadow:0 8px 26px rgba(0,0,0,.28)}.call-info{position:absolute;z-index:4;top:26px;left:30px;display:grid;gap:5px;text-shadow:0 2px 9px rgba(0,0,0,.45)}.call-info small{font-size:10px;letter-spacing:2px;color:rgba(255,255,255,.68)}.call-info strong{font-size:25px}.call-info span{font-size:12px;color:rgba(255,255,255,.8)}.incoming-call-actions,.active-call-actions{position:absolute;z-index:5;left:50%;bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:26px}.call-button{width:68px;height:68px;padding:0;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.17);color:white;cursor:pointer;font-size:23px;backdrop-filter:blur(8px)}.call-button span{position:absolute;top:76px;font-size:10px;white-space:nowrap}.call-button:hover{background:rgba(255,255,255,.27)}.call-button.reject{background:#e94f5b;border-color:#ff8891}.call-button.accept{background:#25b96b;border-color:#77e1a5}.call-button.muted{background:#f1f4f5;color:#263c45}.incoming-call-actions:not(.is-hidden)+.active-call-actions{display:none}
@media(max-width:720px){.call-overlay{padding:0}.call-stage{width:100%;height:100%;border-radius:0}.call-stage #localVideo{width:120px;height:86px;right:12px;top:12px}.call-info{top:20px;left:18px}.call-avatar-stage>img{width:120px;height:120px;border-radius:32px}}

#app.theme-mint{--accent:#2cae92;--accent-strong:#168c76;--accent-soft:#dbf8f1;--background:#bceadf}.theme-peach{--accent:#e7778d;--accent-strong:#c74f69;--accent-soft:#ffe4e9;--background:#f6ced5}.theme-night{--accent:#6665b9;--accent-strong:#4e4b9d;--accent-soft:#e7e6ff;--background:#b9b8df;--ink:#28284a;--muted:#6d6d8d}.theme-night .glass-window{--panel:rgba(248,248,255,.88)}
#app.theme-qq2009{--accent-strong:#087fbd;--accent-soft:#d9f3ff;--ink:#123f5b;--muted:#5e8397;--line:rgba(8,127,189,.28)}
#app.theme-qq2009 .login-hero,
#app.theme-qq2009 .profile-header,
#app.theme-qq2009 .chat-header,
#app.theme-qq2009 .modal>header{
  background-image:linear-gradient(to bottom,rgba(255,255,255,.72) 0,rgba(255,255,255,.25) 26%,rgba(255,255,255,0) 48%),linear-gradient(105deg,var(--main-header-start,#8ee1fb),var(--main-header-end,#22abe6))!important;
  border-bottom:1px solid rgba(5,117,174,.46);
  text-shadow:0 1px rgba(255,255,255,.58);
}
#app.theme-qq2009 .login-hero{background-image:linear-gradient(to bottom,rgba(255,255,255,.75),rgba(255,255,255,0) 48%),linear-gradient(105deg,var(--login-header-start,#82d9fa),var(--login-header-end,#20a9e7))!important}
#app.theme-qq2009 .chat-header{background-image:linear-gradient(to bottom,rgba(255,255,255,.75),rgba(255,255,255,0) 48%),linear-gradient(105deg,var(--chat-header-start,#8ee1fb),var(--chat-header-end,#22abe6))!important}
#app.theme-qq2009 .login-window,
#app.theme-qq2009 .main-panel,
#app.theme-qq2009 .chat-window{box-shadow:0 7px 20px rgba(5,76,112,.28),inset 0 0 0 1px rgba(255,255,255,.88)!important}
#app.theme-qq2009 .panel-actions .icon-btn,
#app.theme-qq2009 .login-hero .icon-btn,
#app.theme-qq2009 .chat-actions .icon-btn{
  border:1px solid rgba(4,119,179,.45);border-radius:3px;background:linear-gradient(to bottom,rgba(255,255,255,.78),rgba(190,235,252,.48));box-shadow:inset 0 1px #fff;color:#155679;text-shadow:0 1px #fff
}
#app.theme-qq2009 .search-box{border:1px solid #61bde5;border-radius:4px;box-shadow:inset 0 1px 3px rgba(5,94,137,.12),0 1px rgba(255,255,255,.9)}
#app.theme-qq2009 .list-primary-tabs{gap:1px;padding:4px 5px;background:linear-gradient(to bottom,#eaf9ff,#bfeaff);border-color:#75c7e8}
#app.theme-qq2009 .list-primary-tabs button{height:27px;border-radius:2px;color:#245979}
#app.theme-qq2009 .list-primary-tabs button.active{border-color:#70c7eb;background:linear-gradient(to bottom,#fff,#d9f3ff);box-shadow:inset 0 0 0 1px rgba(255,255,255,.92);color:#075e91}
#app.theme-qq2009 .list-heading,
#app.theme-qq2009 .tool-column>header,
#app.theme-qq2009 .tool-loose-section>header{background:linear-gradient(to bottom,#f4fcff 0,#c8edfb 52%,#eaf9ff 100%);border-top:1px solid #fff;border-bottom:1px solid #8bcde7}
#app.theme-qq2009 .side-toolbar{background:linear-gradient(to right,#dff6ff,#c8ecfa);border-right-color:#8ccce5}
#app.theme-qq2009 .rail-btn,
#app.theme-qq2009 .tool-rail-button{border-radius:4px}
#app.theme-qq2009 .rail-btn:hover,
#app.theme-qq2009 .rail-btn.active,
#app.theme-qq2009 .tool-rail-button:hover,
#app.theme-qq2009 .tool-rail-button.active{background:linear-gradient(to bottom,#fff,#d4f2ff);box-shadow:inset 0 0 0 1px #7bc6e6,0 1px 2px rgba(4,93,135,.15)}
#app.theme-qq2009 .contact-card,
#app.theme-qq2009 .tool-item,
#app.theme-qq2009 .tool-column{border-radius:3px}
#app.theme-qq2009 .contact-card:hover,
#app.theme-qq2009 .contact-card.selected{border-color:#8bcde7;background:linear-gradient(to bottom,#f8fdff,#e1f5fd);box-shadow:inset 0 0 0 1px #fff}
#app.theme-qq2009 .bottom-toolbar{background:linear-gradient(to bottom,#effbff,#c9ecfa);border-top-color:#7fc8e5}
#app.theme-qq2009 .primary-btn{border-color:#087fbd;border-radius:4px;background:linear-gradient(to bottom,#58c6f1,#159ddd 52%,#0784c3);box-shadow:inset 0 1px rgba(255,255,255,.75),0 1px 2px rgba(5,91,132,.2)}
#app.theme-qq2009 .secondary-btn{border-color:#79c4e3;border-radius:4px;background:linear-gradient(to bottom,#fff,#d8f2fc);box-shadow:inset 0 1px #fff}
#app.theme-qq2009 .modal,
#app.theme-qq2009 .context-menu{border-radius:6px;border-color:#087fbd;background:#f4fbff;box-shadow:0 8px 24px rgba(5,76,112,.28)}

@media (max-width: 980px){.desktop-screen{padding:14px;grid-template-columns:330px 1fr;gap:14px;justify-content:stretch}.main-panel{width:330px;height:calc(100vh - 28px)}.workspace{width:auto;height:calc(100vh - 28px)}.chat-content{grid-template-columns:1fr}.chat-sidebar{display:none}.login-window{margin-top:-20px}}
@media (max-width: 720px){.desktop-screen{display:block;padding:0}.main-panel{width:100%;height:100%;border-radius:0}.workspace{position:fixed;z-index:20;inset:0;width:100%;height:100%;pointer-events:none}.workspace.has-chat{pointer-events:auto}.chat-window{border-radius:0}.welcome-card{display:none}.chat-content{height:calc(100vh - 72px)}.conversation-column{grid-template-rows:1fr 190px}.close-chat-mobile{display:block}.main-panel.docked{left:0;width:100%;height:100%;border-radius:0}.dock-reveal{left:0;width:100%}.login-body{grid-template-columns:62px 1fr}.login-avatar{width:60px;height:60px}.login-links{grid-column:2;display:flex;justify-content:space-between}.login-options{padding-left:28px;padding-right:28px;flex-wrap:wrap}.avatar-grid{grid-template-columns:repeat(5,1fr)}.profile-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.skin-presets{grid-template-columns:repeat(2,1fr)}}
@media (max-height: 650px){.login-window{transform:scale(.88)}.desktop-screen{align-items:stretch}.main-panel,.workspace{height:calc(100vh - 20px)}}


/* QtWebEngine compatibility and native split-window modes */
.profile-header {
  color: #153b4c;
  background: linear-gradient(135deg, #d8f7fc, #79d4e8);
}
.profile-summary p { color: #4c7180; }
.panel-actions .icon-btn,
.window-actions .icon-btn {
  color: #17495d;
  background: rgba(255, 255, 255, .76);
  border: 1px solid rgba(37, 111, 140, .16);
}
.panel-actions .icon-btn:hover,
.window-actions .icon-btn:hover { color: #07394f; background: #fff; }
.primary-btn {
  color: #fff;
  border-color: #0874aa;
  background: #168fca;
  box-shadow: inset 0 1px rgba(255,255,255,.35), 0 4px 10px rgba(13,100,145,.2);
}
.primary-btn:disabled { color: #eaf8ff; background: #75b9d8; }
.mine .bubble {
  color: #fff;
  border-color: #0874aa;
  background: #168fca;
}
.modal > header { color: #fff; background: #168fca; }
.chat-header { background: #edf9fc; }
.side-toolbar { background: #e7f5f9; overflow: visible; }
.contact-card.selected { background: #dff3fa; box-shadow: inset 0 0 0 1px #78c5df; }
.contact-card.has-unread .avatar-status{animation:conversation-unread-shake 1s steps(1,end) infinite;transform-origin:center}
@keyframes conversation-unread-shake{0%,100%{transform:translate(0,0)}20%{transform:translate(-2px,0)}40%{transform:translate(2px,0)}60%{transform:translate(0,-2px)}80%{transform:translate(0,2px)}}
@media(prefers-reduced-motion:reduce){.contact-card.has-unread .avatar-status{animation:none}}
.native-window-action { display: none !important; }

html[data-window-mode="main"],
html[data-window-mode="main"] body,
html[data-window-mode="main"] #app,
html[data-window-mode="chat"],
html[data-window-mode="chat"] body,
html[data-window-mode="chat"] #app { width: 100%; height: 100%; overflow: hidden; }

html[data-window-mode="main"] .desktop-screen,
html[data-window-mode="chat"] .desktop-screen {
  width: 100%;
  height: 100%;
  padding: 0;
  display: block;
}
html[data-window-mode="main"] .main-panel {
  width: 100%;
  height: 100%;
  border-radius: 0;
}
html[data-window-mode="main"] .workspace { display: none !important; }
html[data-window-mode="main"] .native-window-action { display: grid !important; }
html[data-window-mode="main"] .panel-actions { gap: 3px; }
html[data-window-mode="main"] .panel-actions .icon-btn { width: 25px; height: 25px; padding: 0; }

html[data-window-mode="chat"] .login-screen,
html[data-window-mode="chat"] .main-panel,
html[data-window-mode="chat"] .dock-reveal,
html[data-window-mode="chat"] .welcome-card { display: none !important; }
html[data-window-mode="chat"] .workspace {
  width: 100%;
  height: 100%;
}
html[data-window-mode="chat"] .chat-window {
  width: 100%;
  height: 100%;
  border-radius: 0;
}
html[data-window-mode="chat"] .native-window-action { display: block !important; }


/* Native login sizing, automatic docking, and 2px rhythm */
html[data-window-mode="main"].login-native-mode body,
html[data-window-mode="main"].login-native-mode #app {
  background: transparent !important;
}
html[data-window-mode="main"].login-native-mode #app::before,
html[data-window-mode="main"].login-native-mode .wallpaper-glow {
  display: none !important;
}
html[data-window-mode="main"].login-native-mode .login-screen {
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  background: transparent;
}
html[data-window-mode="main"].login-native-mode .login-window {
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  animation: none;
  transform: none !important;
  display: grid;
  grid-template-rows: 122px minmax(0, 1fr) auto auto;
}
html[data-window-mode="main"].login-native-mode .login-body,
html[data-window-mode="main"].login-native-mode .login-options {
  background: #fff;
}
html[data-window-mode="main"].login-native-mode .login-footer {
  background: #f3fafc;
}

html[data-window-mode="main"] .profile-header { gap: 0; }
html[data-window-mode="main"] .search-box { gap: 0; }
html[data-window-mode="main"] .search-box > * + * { margin-left: 5px; }
html[data-window-mode="main"] .profile-header > .profile-summary { margin-left: 10px; }
html[data-window-mode="main"] .profile-header > .panel-actions { margin-left: 2px; }
html[data-window-mode="main"] .profile-summary {
  display: grid;
  gap: 0;
}
html[data-window-mode="main"] .profile-summary .name-row { gap: 0; }
html[data-window-mode="main"] .profile-summary .name-row > span { margin-left: 2px; }
html[data-window-mode="main"] .profile-summary p { margin: 2px 0 0; }
html[data-window-mode="main"] .panel-actions { gap: 0; }
html[data-window-mode="main"] .panel-actions .icon-btn + .icon-btn { margin-left: 2px; }
html[data-window-mode="main"] .contact-list,
html[data-window-mode="main"] .group-contacts { gap: 0; }
html[data-window-mode="main"] .contact-card { gap: 0; }
html[data-window-mode="main"] .contact-card + .contact-card { margin-top: 2px; }
html[data-window-mode="main"] .contact-card .avatar-status + .contact-copy { margin-left: 5px; }
html[data-window-mode="main"] .contact-card .contact-copy { gap: 0; }
html[data-window-mode="main"] .contact-card .contact-copy > p { margin-top: 2px; }
html[data-window-mode="main"] .contact-card .contact-top { gap: 0; }
html[data-window-mode="main"] .connection-status { gap: 0; }
html[data-window-mode="main"] .connection-status i + b { margin-left: 2px; }

html[data-window-mode="chat"] .chat-peer { gap: 0; }
html[data-window-mode="chat"] .chat-peer > div {
  gap: 0;
  margin-left: 5px;
}
html[data-window-mode="chat"] .chat-peer p { margin-top: 2px; }
html[data-window-mode="chat"] .chat-actions { gap: 0; }
html[data-window-mode="chat"] .chat-actions button + button { margin-left: 2px; }
html[data-window-mode="chat"] .message-row { gap: 0; }
html[data-window-mode="chat"] .message-row:not(.mine) .msg-avatar + .message-bundle { margin-left: 2px; }
html[data-window-mode="chat"] .message-row.mine .msg-avatar { margin-left: 2px; }
html[data-window-mode="chat"] .message-bundle { gap: 0; }
html[data-window-mode="chat"] .message-bundle > * + * { margin-top: 2px; }
html[data-window-mode="chat"] .sidebar-cover { gap: 0; }
html[data-window-mode="chat"] .sidebar-cover > * + * { margin-top: 2px; }
html[data-window-mode="chat"] .compose-toolbar { gap: 0; }
html[data-window-mode="chat"] .compose-toolbar button + button { margin-left: 2px; }

html[data-window-mode="main"] .login-window,
html[data-window-mode="main"] .main-panel,
html[data-window-mode="chat"] .chat-window {
  border: 1px solid rgba(15, 91, 126, .38) !important;
  box-shadow:
    0 0 16px rgba(8, 65, 94, .32),
    inset 0 0 0 1px rgba(255, 255, 255, .72),
    inset 0 0 12px rgba(8, 65, 94, .10) !important;
}

/* BlueBird original multi-window skin editor */
:root {
  --login-header-start: #087db8;
  --login-header-end: #28abd2;
  --window-header-gloss-opacity: .42;
  --window-header-gloss-height: 15px;
  --login-panel: #fff;
  --login-text: #16394b;
  --login-border: #0f5b7e;
  --login-radius: 14px;
  --login-shadow: 0 0 16px rgba(8,65,94,.34), inset 0 0 0 1px rgba(255,255,255,.68);
  --login-inner-shadow: inset 0 0 0 1px rgba(255,255,255,.68), inset 0 0 12px rgba(8,65,94,.09);
  --login-wallpaper: none;
  --main-header-start: #d8f7fc;
  --main-header-end: #79d4e8;
  --main-panel: rgba(245,253,255,.92);
  --main-side: rgba(231,245,249,.95);
  --main-list: rgba(255,255,255,.92);
  --main-text: #153b4c;
  --main-border: #0f5b7e;
  --main-radius: 18px;
  --main-shadow: 0 0 16px rgba(8,65,94,.34), inset 0 0 0 1px rgba(255,255,255,.68);
  --main-inner-shadow: inset 0 0 0 1px rgba(255,255,255,.68), inset 0 0 12px rgba(8,65,94,.09);
  --main-shadow-gutter: 12px;
  --main-wallpaper: none;
  --chat-header-start: #edf9fc;
  --chat-header-end: #fff;
  --chat-panel: rgba(255,255,255,.94);
  --chat-conversation: rgba(247,251,252,.94);
  --chat-text: #16394b;
  --chat-border: #0f5b7e;
  --chat-radius: 19px;
  --chat-shadow: 0 0 16px rgba(8,65,94,.34), inset 0 0 0 1px rgba(255,255,255,.68);
  --chat-inner-shadow: inset 0 0 0 1px rgba(255,255,255,.68), inset 0 0 12px rgba(8,65,94,.09);
  --chat-wallpaper: none;
  --chat-own-bubble: #168fca;
  --chat-peer-bubble: #fff;
}

.login-window {
  color: var(--login-text);
  border: 1px solid var(--login-border) !important;
  border-radius: var(--login-radius);
  background-color: var(--login-panel);
  background-image: var(--login-wallpaper);
  background-size: cover;
  background-position: center;
  box-shadow: var(--login-shadow) !important;
}
.login-hero {
  background-color: var(--login-header-start);
  background-image: linear-gradient(135deg, var(--login-header-start), var(--login-header-end)), var(--login-wallpaper);
  background-size: cover;
  background-position: center;
}
.login-body,
.login-options,
.login-footer { background-color: var(--login-panel) !important; }

.main-panel {
  color: var(--main-text);
  border: 1px solid var(--main-border) !important;
  border-radius: var(--main-radius) !important;
  background-color: var(--main-panel);
  background-image: var(--main-wallpaper);
  background-size: cover;
  background-position: center;
  box-shadow: var(--main-shadow) !important;
}
.profile-header {
  color: var(--main-text);
  background-color: var(--main-header-start);
  background-image: linear-gradient(135deg, var(--main-header-start), var(--main-header-end)), var(--main-wallpaper);
  background-size: cover;
  background-position: center;
}
.profile-summary p { color: var(--main-text); opacity: .74; }
.panel-actions .icon-btn { color: var(--main-text); }
.main-panel .panel-body,
.main-panel .bottom-toolbar { background-color: var(--main-panel); }
.main-panel .side-toolbar { background: var(--main-side); }
.main-panel .list-area { background: var(--main-list); }

.chat-window {
  color: var(--chat-text);
  border: 1px solid var(--chat-border) !important;
  border-radius: var(--chat-radius) !important;
  background-color: var(--chat-panel);
  background-image: var(--chat-wallpaper);
  background-size: cover;
  background-position: center;
  box-shadow: var(--chat-shadow) !important;
}
.chat-header {
  background-color: var(--chat-header-start);
  background-image: linear-gradient(110deg, var(--chat-header-start), var(--chat-header-end)), var(--chat-wallpaper);
  background-size: cover;
  background-position: center;
}
.message-list { background: var(--chat-conversation); }
.composer,
.chat-sidebar { background: var(--chat-panel); }
.bubble { background: var(--chat-peer-bubble); }
.mine .bubble {
  color: #fff;
  border-color: var(--chat-own-bubble);
  background: var(--chat-own-bubble);
}

html[data-window-mode="main"],
html[data-window-mode="main"] body,
html[data-window-mode="main"] #app,
html[data-window-mode="chat"],
html[data-window-mode="chat"] body,
html[data-window-mode="chat"] #app { background: transparent !important; }
html[data-window-mode="main"] #app::before,
html[data-window-mode="main"] .wallpaper-glow,
html[data-window-mode="chat"] #app::before,
html[data-window-mode="chat"] .wallpaper-glow { display: none !important; }
html[data-window-mode="main"].login-native-mode .login-window {
  border: 1px solid var(--login-border) !important;
  border-radius: var(--login-radius);
  background-color: var(--login-panel);
  background-image: var(--login-wallpaper);
  box-shadow: var(--login-inner-shadow) !important;
}
html[data-window-mode="main"].login-native-mode .login-body,
html[data-window-mode="main"].login-native-mode .login-options,
html[data-window-mode="main"].login-native-mode .login-footer { background-color: var(--login-panel) !important; }
html[data-window-mode="main"] .main-panel {
  border-color: var(--main-border) !important;
  border-radius: var(--main-radius) !important;
  box-shadow: var(--main-inner-shadow) !important;
}
html[data-window-mode="chat"] .chat-window {
  border-color: var(--chat-border) !important;
  border-radius: var(--chat-radius) !important;
  box-shadow: var(--chat-inner-shadow) !important;
}

.skin-modal {
  width: min(900px, calc(100vw - 24px));
  height: min(760px, calc(100vh - 24px));
  max-height: calc(100vh - 24px);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}
.skin-editor-content { overflow: auto; padding: 14px 18px 18px; }
.skin-library-bar {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) auto minmax(180px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
}
.skin-name-field,
.skin-control-grid > label {
  display: grid;
  gap: 5px;
  color: var(--muted);
  font-size: 10px;
}
.skin-name-field input,
.skin-library-bar select,
.skin-control-grid input {
  width: 100%;
  height: 34px;
  min-width: 0;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: 0;
  color: var(--ink);
  background: #fff;
}
.skin-library-bar button { min-height: 34px; padding: 5px 9px; white-space: nowrap; }
.saved-skin-picker { position: relative; min-width: 180px; }
.saved-skin-native-value { display: none !important; }
.saved-skin-picker-btn {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  text-align: left;
  cursor: pointer;
}
.saved-skin-picker-btn span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.saved-skin-picker-btn i { flex: none; font-style: normal; transition: transform .16s ease; }
.saved-skin-picker-btn[aria-expanded="true"] i { transform: rotate(180deg); }
.saved-skin-options {
  position: absolute;
  z-index: 120;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  max-height: 250px;
  overflow: auto;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(11, 54, 73, .2);
}
.saved-skin-options button {
  width: 100%;
  min-height: 46px;
  padding: 7px 9px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  display: grid;
  gap: 2px;
  text-align: left;
  cursor: pointer;
}
.saved-skin-options button:hover,
.saved-skin-options button.active { background: var(--accent-soft); color: var(--accent-strong); }
.saved-skin-options span { overflow: hidden; color: inherit; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.saved-skin-options small { color: var(--muted); font-size: 9px; }
.saved-skin-empty { padding: 18px 8px; color: var(--muted); font-size: 10px; text-align: center; }
.skin-modal .skin-presets { margin-top: 12px; }
.skin-modal .skin-card span { height: 42px; }
.skin-preview-grid {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 9px;
}
.skin-window-preview {
  position: relative;
  height: 82px;
  overflow: hidden;
  padding: 0;
  border: 2px solid transparent;
  background: #fff;
  cursor: pointer;
}
.skin-window-preview.active { outline: 2px solid var(--accent); outline-offset: 1px; }
.skin-window-preview i {
  position: absolute;
  inset: 0 0 auto;
  height: 25px;
}
.skin-window-preview span {
  position: absolute;
  left: 9px;
  top: 34px;
  z-index: 1;
  font-size: 11px;
  font-weight: 700;
}
.skin-window-preview b {
  position: absolute;
  left: 9px;
  right: 9px;
  bottom: 9px;
  height: 16px;
  border-radius: 5px;
  opacity: .86;
}
.skin-scope-tabs {
  position: sticky;
  top: -14px;
  z-index: 3;
  margin: 13px -18px 10px;
  padding: 7px 18px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  background: rgba(247,253,255,.96);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.skin-scope-tabs button {
  height: 34px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  font-size: 11px;
}
.skin-scope-tabs button.active {
  color: var(--accent-strong);
  background: #fff;
  box-shadow: 0 2px 8px rgba(15,80,104,.12);
}
.skin-scope-panel { display: none; }
.skin-scope-panel.active { display: block; }
.skin-control-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}
.skin-control-grid input[type="color"] { padding: 3px; cursor: pointer; }
.skin-color-control { display: grid; grid-template-columns: minmax(0, 1fr) 62px; gap: 6px; }
.skin-color-control .skin-eyedropper-btn {
  min-width: 0;
  height: 34px;
  padding: 0 7px;
  border: 1px solid #9dcbdc;
  border-radius: 8px;
  color: var(--accent-strong);
  background: linear-gradient(#fff, #e9f7fb);
  cursor: crosshair;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.skin-color-control .skin-eyedropper-btn:hover { border-color: var(--accent); background: #dff3fa; }
.skin-color-control .skin-eyedropper-btn:focus-visible { outline: 2px solid rgba(22,143,202,.28); outline-offset: 1px; }
.skin-color-control .skin-eyedropper-btn:disabled { opacity: .62; cursor: wait; }
.skin-color-control .skin-eyedropper-btn span { margin-right: 2px; font-size: 13px; }
.skin-range-field { grid-template-columns: 1fr auto; align-items: center; }
.skin-range-field output { color: var(--accent-strong); font-weight: 700; }
.skin-range-field input { grid-column: 1 / -1; height: 24px; padding: 0; }
.skin-background-row {
  margin-top: 12px;
  padding: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgba(255,255,255,.7);
}
.skin-background-row > span { min-width: 0; flex: 1; display: grid; gap: 3px; }
.skin-background-row strong { font-size: 11px; }
.skin-background-row small { color: var(--muted); font-size: 9px; }
.skin-background-row small.has-asset { color: #168651; }
.skin-background-row button { min-height: 31px; padding: 4px 9px; }
.skin-editor-note {
  margin: 12px 0 0;
  padding: 9px 10px;
  border-radius: 9px;
  color: var(--muted);
  background: var(--accent-soft);
  font-size: 10px;
  line-height: 1.5;
}
.skin-editor-footer { gap: 6px; flex-wrap: wrap; }
.skin-editor-footer > span { flex: 1; }

html[data-window-mode="main"] .skin-modal {
  width: calc(100vw - 12px);
  height: calc(100vh - 12px);
  max-height: calc(100vh - 12px);
}
html[data-window-mode="main"] .skin-editor-content { padding: 10px 11px 14px; }
html[data-window-mode="main"] .skin-library-bar { grid-template-columns: 1fr 1fr; }
html[data-window-mode="main"] .skin-name-field { grid-column: 1 / -1; }
html[data-window-mode="main"] .saved-skin-picker { grid-column: 1 / -1; }
html[data-window-mode="main"] .skin-modal .skin-presets { grid-template-columns: repeat(5, 1fr); gap: 5px; }
html[data-window-mode="main"] .skin-modal .skin-card { padding: 4px; }
html[data-window-mode="main"] .skin-modal .skin-card span { height: 28px; margin-bottom: 4px; }
html[data-window-mode="main"] .skin-scope-tabs { top: -10px; margin-left: -11px; margin-right: -11px; padding-left: 11px; padding-right: 11px; }
html[data-window-mode="main"] .skin-control-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); }
html[data-window-mode="main"] .skin-editor-footer { padding: 8px; }

@media (max-width: 520px) {
  .skin-library-bar { grid-template-columns: 1fr 1fr; }
  .skin-name-field,
  .saved-skin-picker { grid-column: 1 / -1; }
  .skin-control-grid { grid-template-columns: 1fr 1fr; }
  .skin-background-row { flex-wrap: wrap; }
  .skin-background-row > span { flex-basis: 100%; }
}
/* Real-time skin studio */
.skin-modal { width: min(1140px, calc(100vw - 24px)); }
.skin-editor-workspace { margin-top: 12px; display: grid; grid-template-columns: minmax(330px, .78fr) minmax(480px, 1.22fr); gap: 14px; align-items: start; }
.skin-editor-settings { min-width: 0; }
.skin-editor-workspace .skin-scope-tabs { position: static; margin: 0 0 10px; padding: 6px; border: 1px solid var(--line); border-radius: 11px; background: #edf7fa; }
.skin-editor-workspace .skin-control-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 9px; }
.skin-live-preview-panel { position: sticky; top: 0; min-width: 0; padding: 12px; border: 1px solid #c7e0e9; border-radius: 15px; background: linear-gradient(145deg, rgba(255,255,255,.92), rgba(225,242,247,.94)); box-shadow: inset 0 1px #fff, 0 8px 22px rgba(18,77,99,.1); }
.skin-preview-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.skin-preview-heading > div { display: grid; gap: 3px; }
.skin-preview-heading strong { font-size: 13px; }
.skin-preview-heading small { color: var(--muted); font-size: 9px; }
.skin-preview-heading > span { padding: 5px 8px; border-radius: 99px; color: #11844d; background: #e1f8eb; font-size: 9px; font-weight: 700; white-space: nowrap; }
.skin-preview-heading > span i { display: inline-block; width: 6px; height: 6px; margin-right: 3px; border-radius: 50%; background: #22bd6b; box-shadow: 0 0 0 3px rgba(34,189,107,.13); animation: skin-live-pulse 1.8s infinite; }
@keyframes skin-live-pulse { 50% { opacity: .45; } }
.skin-preview-switcher { margin: 10px 0; padding: 3px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; border-radius: 9px; background: #dcecf1; }
.skin-preview-switcher button { height: 31px; border: 0; border-radius: 7px; color: #4f717e; background: transparent; cursor: pointer; font-size: 10px; }
.skin-preview-switcher button.active { color: var(--accent-strong); background: #fff; box-shadow: 0 2px 7px rgba(16,68,88,.14); font-weight: 700; }
.skin-preview-stage { position: relative; min-height: 500px; overflow: hidden; display: grid; place-items: center; border: 1px solid rgba(96,145,163,.2); border-radius: 12px; background-color: var(--background); background-image: var(--wallpaper-image), radial-gradient(circle at 25% 20%, rgba(255,255,255,.8), transparent 35%), linear-gradient(135deg, rgba(255,255,255,.38), transparent); background-position: center; background-size: cover; }
.skin-live-window { --live-header: linear-gradient(135deg,#168fca,#45b7d8); --live-panel: #fff; --live-text: #16394b; --live-border: #0f5b7e; --live-shadow: 0 0 16px rgba(8,65,94,.34); --live-wallpaper: none; position: absolute; overflow: hidden; display: none; color: var(--live-text); border: 1px solid var(--live-border); border-radius: var(--live-radius, 14px); background-color: var(--live-panel); background-image: var(--live-wallpaper); background-position: center; background-size: cover; box-shadow: var(--live-shadow); font-family: "Microsoft YaHei UI", "Segoe UI", sans-serif; }
.skin-live-window.active { display: flex; }
.skin-live-window header { color: var(--live-text); background: var(--live-header); }
.skin-live-window header strong, .skin-live-window header small { display: block; }
.skin-live-window header small { margin-top: 2px; opacity: .72; }
.skin-live-window header b { margin-left: auto; font-weight: 400; white-space: nowrap; }
.skin-live-window footer button { border: 1px solid rgba(76,119,135,.25); border-radius: 7px; background: rgba(255,255,255,.84); color: var(--live-text); }
.skin-live-window footer button:last-child { border-color: var(--accent); background: var(--accent); color: #fff; }
.skin-live-logo, .skin-live-avatar { display: grid; place-items: center; flex: none; color: #fff; background: linear-gradient(145deg, #6fe2bc, #0b8c72); }

.skin-live-login { width: min(520px, calc(100% - 26px)); aspect-ratio: 520 / 439; flex-direction: column; }
.skin-live-login > header { height: 28%; padding: 6% 6%; display: flex; align-items: center; gap: 3%; }
.skin-live-login > header .skin-live-logo { width: 14%; aspect-ratio: 1; border: 2px solid rgba(255,255,255,.85); border-radius: 24%; background: #ffd267; color: #1776a0; font-size: 1.3rem; font-weight: 800; transform: rotate(-4deg); }
.skin-live-login > header strong { font-size: clamp(15px, 2.6vw, 23px); }
.skin-live-login > header small { font-size: clamp(7px, 1.25vw, 11px); }
.skin-live-login > header b { align-self: flex-start; font-size: clamp(8px, 1.4vw, 12px); }
.skin-live-login-body { flex: 1; padding: 7% 12% 2%; display: grid; grid-template-columns: 17% 1fr; grid-template-rows: 1fr auto; column-gap: 6%; background-color: var(--live-panel); }
.skin-live-login-body .skin-live-avatar { width: 100%; aspect-ratio: 1; border: 3px solid white; border-radius: 23%; font-size: clamp(14px, 3vw, 25px); box-shadow: 0 4px 10px rgba(0,0,0,.13); }
.skin-live-fields { display: grid; gap: 5%; }
.skin-live-fields span { padding: 3% 5%; border: 1px solid rgba(79,133,153,.28); border-radius: 8px; background: rgba(255,255,255,.74); font-size: clamp(7px, 1.35vw, 11px); }
.skin-live-links { grid-column: 2; align-self: end; color: var(--accent); font-size: clamp(7px, 1.2vw, 10px); }
.skin-live-options { padding: 2% 13%; background-color: var(--live-panel); color: var(--live-text); font-size: clamp(7px, 1.25vw, 10px); }
.skin-live-login > footer { height: 15%; padding: 2.5% 7%; display: flex; align-items: center; justify-content: space-between; background: rgba(240,249,252,.88); border-top: 1px solid rgba(78,132,151,.18); }
.skin-live-login > footer button { min-width: 25%; padding: 2% 4%; font-size: clamp(7px, 1.3vw, 11px); }

.skin-live-main { --live-side: #e7f5f9; --live-list: #fff; width: 290px; height: 480px; flex-direction: column; }
.skin-live-main > header { height: 76px; padding: 11px 12px; display: flex; align-items: center; gap: 7px; }
.skin-live-main > header .skin-live-avatar { width: 47px; height: 47px; border: 2px solid #fff; border-radius: 12px; font-size: 20px; }
.skin-live-main > header strong { font-size: 12px; }
.skin-live-main > header em { padding: 2px 4px; border-radius: 4px; background: #f6d75e; font-size: 7px; font-style: normal; }
.skin-live-main > header small { font-size: 8px; }
.skin-live-main > header b { align-self: flex-start; font-size: 8px; }
.skin-live-search { margin: -6px 9px 7px; padding: 8px 9px; border-radius: 8px; background: rgba(255,255,255,.9); color: #7895a0; box-shadow: 0 2px 7px rgba(16,66,85,.08); font-size: 9px; z-index: 1; }
.skin-live-main-body { min-height: 0; flex: 1; display: grid; grid-template-columns: 40px 1fr; border-top: 1px solid rgba(72,126,145,.2); }
.skin-live-main-body > nav { padding: 12px 0 9px; display: flex; flex-direction: column; align-items: center; gap: 17px; background: var(--live-side); font-size: 14px; }
.skin-live-main-body > nav i { flex: 1; }
.skin-live-main-body > section { min-width: 0; padding: 10px 8px; background: var(--live-list); }
.skin-live-list-title { margin-bottom: 7px; display: grid; }
.skin-live-list-title strong { font-size: 10px; }
.skin-live-list-title small { margin-top: 2px; color: #7895a0; font-size: 7px; }
.skin-live-contact { padding: 7px 3px; display: grid; grid-template-columns: 36px 1fr auto; gap: 4px; align-items: center; border-radius: 7px; }
.skin-live-contact:first-of-type { background: rgba(255,255,255,.48); }
.skin-live-contact > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; background: var(--accent); color: #fff; }
.skin-live-contact div { min-width: 0; display: grid; gap: 2px; }
.skin-live-contact strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 9px; }
.skin-live-contact small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #71909d; font-size: 7px; }
.skin-live-contact time { color: #8ba3ad; font-size: 6px; }
.skin-live-main > footer { height: 37px; padding: 0 9px; display: flex; align-items: center; font-size: 7px; background: var(--live-panel); border-top: 1px solid rgba(73,126,145,.2); }
.skin-live-main > footer span { margin-left: auto; color: #1b9e5b; }

.skin-live-chat { --live-conversation: #f7fbfc; --live-own-bubble: #168fca; --live-peer-bubble: #fff; width: min(600px, calc(100% - 20px)); aspect-ratio: 930 / 730; flex-direction: column; }
.skin-live-chat > header { height: 14%; padding: 2% 2.5%; display: flex; align-items: center; gap: 1.5%; border-bottom: 1px solid rgba(72,126,145,.18); }
.skin-live-chat > header .skin-live-avatar { height: 76%; aspect-ratio: 1; border-radius: 22%; font-size: clamp(10px, 2vw, 20px); }
.skin-live-chat > header strong { font-size: clamp(9px, 1.6vw, 14px); }
.skin-live-chat > header small { font-size: clamp(6px, 1vw, 9px); }
.skin-live-chat > header b { font-size: clamp(7px, 1.2vw, 10px); }
.skin-live-chat-body { min-height: 0; flex: 1; display: grid; grid-template-columns: 1fr 25%; }
.skin-live-chat-body > section { padding: 3%; display: grid; align-content: start; gap: 6%; background: var(--live-conversation); }
.skin-live-chat-body > section > time { justify-self: center; color: #7b98a3; font-size: clamp(6px, 1vw, 8px); }
.skin-live-message { display: flex; align-items: flex-end; gap: 1%; }
.skin-live-message.mine { justify-content: flex-end; }
.skin-live-message > span { width: 7%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 25%; background: var(--accent); color: #fff; font-size: clamp(6px, 1vw, 9px); }
.skin-live-message p { max-width: 66%; margin: 0; padding: 2.5% 3.2%; border: 1px solid rgba(72,126,145,.16); border-radius: 10px; background: var(--live-peer-bubble); font-size: clamp(7px, 1.25vw, 11px); box-shadow: 0 3px 8px rgba(20,68,87,.07); }
.skin-live-message.mine p { color: #fff; border-color: transparent; background: var(--live-own-bubble); }
.skin-live-chat-body > aside { padding: 9% 8%; display: flex; flex-direction: column; align-items: center; gap: 4%; background: var(--live-panel); border-left: 1px solid rgba(72,126,145,.18); }
.skin-live-chat-body > aside .skin-live-avatar { width: 55%; aspect-ratio: 1; border-radius: 24%; }
.skin-live-chat-body > aside strong { font-size: clamp(8px, 1.4vw, 12px); }
.skin-live-chat-body > aside small { text-align: center; color: #7895a0; font-size: clamp(6px, 1vw, 8px); }
.skin-live-composer { height: 25%; padding: 2% 2.2%; position: relative; background: var(--live-panel); border-top: 1px solid rgba(72,126,145,.18); }
.skin-live-composer > div { font-size: clamp(7px, 1.2vw, 10px); }
.skin-live-composer > div span { float: right; }
.skin-live-composer p { color: #7b8e96; font-size: clamp(8px, 1.4vw, 12px); }
.skin-live-composer button { position: absolute; right: 2%; bottom: 8%; padding: 1.5% 4%; border: 0; border-radius: 7px; background: var(--accent); color: #fff; font-size: clamp(7px, 1.1vw, 10px); }
.skin-preview-tip { margin: 9px 2px 0; color: var(--muted); font-size: 9px; line-height: 1.45; }

html[data-window-mode="skin"], html[data-window-mode="skin"] body, html[data-window-mode="skin"] #app { width: 100%; height: 100%; overflow: hidden; background: #e7f4f8; }
html[data-window-mode="skin"] #app::before, html[data-window-mode="skin"] .wallpaper-glow, html[data-window-mode="skin"] .screen { display: none !important; }
html[data-window-mode="skin"] .modal-backdrop { background: #e7f4f8; backdrop-filter: none; }
html[data-window-mode="skin"] .skin-modal { width: calc(100vw - 12px); height: calc(100vh - 12px); max-height: none; border-radius: 14px; }
html[data-window-mode="skin"] .skin-modal{height:calc(100dvh - 12px);font-size:12px}html[data-window-mode="skin"] .skin-modal button,html[data-window-mode="skin"] .skin-modal input,html[data-window-mode="skin"] .skin-modal select,html[data-window-mode="skin"] .skin-modal label,html[data-window-mode="skin"] .skin-modal small{font-size:12px;line-height:1.45}.skin-uniform-corner-field{display:flex!important;align-items:center;justify-content:space-between}.skin-uniform-corner-field input{width:42px!important;height:22px!important}.skin-uniform-corner-field b{margin-left:5px;color:var(--accent-strong)}
html[data-window-mode="skin"] .skin-editor-content { padding: 12px 16px 16px; }
html[data-window-mode="skin"] .skin-editor-workspace { grid-template-columns: minmax(360px, .78fr) minmax(500px, 1.22fr); }
html[data-window-mode="skin"] .skin-preview-stage { min-height: 500px; }
html[data-window-mode="skin"] .skin-editor-footer { padding: 9px 16px; }

@media (max-width: 850px) {
  .skin-editor-workspace { grid-template-columns: 1fr; }
  .skin-live-preview-panel { position: static; order: -1; }
  .skin-preview-stage { min-height: 360px; }
  .skin-live-main { width: 210px; height: 345px; }
}

html[data-window-mode="main"] .skin-editor-workspace { grid-template-columns: 1fr; }
html[data-window-mode="main"] .skin-live-preview-panel { position: static; order: -1; padding: 8px; }
html[data-window-mode="main"] .skin-preview-stage { min-height: 300px; }
html[data-window-mode="main"] .skin-live-main { width: 180px; height: 290px; }
html[data-window-mode="main"] .skin-preview-tip { display: none; }
/* Maximizable skin studio and visibly adjustable title gloss */
.login-hero,
.profile-header,
.chat-header,
.skin-modal > header,
.skin-live-window header { position: relative; overflow: hidden; isolation: isolate; }
.login-hero::before,
.profile-header::before,
.chat-header::before,
.skin-modal > header::before,
.skin-live-window header::before { content: none !important; display: none !important; }
.login-hero::after,
.profile-header::after { z-index: 0; }
.login-hero > *,
.profile-header > *,
.chat-header > *,
.skin-modal > header > *,
.skin-live-window header > * { position: relative; z-index: 5; }
.window-header-gloss {
  position: absolute !important;
  z-index: 4 !important;
  top: 0;
  right: 0;
  bottom: auto;
  left: 0;
  display: block;
  pointer-events: none;
  background: linear-gradient(to bottom, #fff 0%, rgba(255,255,255,.96) 24%, rgba(255,255,255,.62) 58%, rgba(255,255,255,0) 100%);
}
.login-hero > .window-header-gloss,
.profile-header > .window-header-gloss,
.chat-header > .window-header-gloss,
.skin-modal > header > .window-header-gloss {
  height: var(--window-header-gloss-height, 15px);
  opacity: var(--window-header-gloss-opacity, .42);
}
.skin-live-window header > .window-header-gloss {
  height: var(--live-header-gloss-height, 15px);
  opacity: var(--live-header-gloss-opacity, .42);
}
.skin-studio-window-actions { margin-left: auto; display: flex; align-items: center; gap: 2px; }
.skin-studio-window-actions .icon-btn {
  width: 28px;
  height: 26px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 7px;
  color: #fff;
  background: rgba(255,255,255,.13);
  font-size: 13px;
}
.skin-studio-window-actions .icon-btn:hover { background: rgba(255,255,255,.28); }
.skin-studio-native-action { display: none !important; }
html[data-window-mode="skin"] .skin-studio-window-actions { display: none !important; }
html[data-window-mode="skin"] .skin-modal > header { user-select: none; }
html[data-window-mode="skin"] .skin-preview-stage { min-height: clamp(500px, calc(100vh - 285px), 720px); }

.native-resize-handles { display: none; }
html[data-window-mode="skin"] .native-resize-handles,
html[data-window-mode="chat"] .native-resize-handles,
html[data-window-mode="main"]:not(.login-native-mode) .native-resize-handles { display: block; }
.native-resize-handles [data-resize-edge] {
  position: fixed;
  z-index: 10000;
  display: block;
  touch-action: none;
  user-select: none;
}
.native-resize-handles [data-resize-edge="top"] { top: 0; left: 18px; right: 18px; height: 9px; cursor: ns-resize; }
.native-resize-handles [data-resize-edge="right"] { top: 18px; right: 0; bottom: 18px; width: 9px; cursor: ew-resize; }
.native-resize-handles [data-resize-edge="bottom"] { right: 18px; bottom: 0; left: 18px; height: 9px; cursor: ns-resize; }
.native-resize-handles [data-resize-edge="left"] { top: 18px; bottom: 18px; left: 0; width: 9px; cursor: ew-resize; }
.native-resize-handles [data-resize-edge="top-left"] { top: 0; left: 0; width: 18px; height: 18px; cursor: nwse-resize; }
.native-resize-handles [data-resize-edge="top-right"] { top: 0; right: 0; width: 18px; height: 18px; cursor: nesw-resize; }
.native-resize-handles [data-resize-edge="bottom-right"] { right: 0; bottom: 0; width: 18px; height: 18px; cursor: nwse-resize; }
.native-resize-handles [data-resize-edge="bottom-left"] { bottom: 0; left: 0; width: 18px; height: 18px; cursor: nesw-resize; }
/* Telegram-style merged chat workspace */
.merged-folder-rail,.merged-conversation-pane,.merged-action{display:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-action{display:inline-grid;place-items:center}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-window{--folder-expanded-width:92px;--folder-width:var(--folder-expanded-width);--conversation-expanded-width:268px;--info-expanded-width:238px;--conversation-width:var(--conversation-expanded-width);--info-width:var(--info-expanded-width)}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-content{grid-template-columns:var(--folder-width) var(--conversation-width) minmax(360px,1fr) var(--info-width);transition:grid-template-columns .22s ease}
html[data-window-mode="chat"][data-chat-layout="merged"].folders-collapsed .chat-window{--folder-width:0px}
html[data-window-mode="chat"][data-chat-layout="merged"].conversations-collapsed .chat-window{--conversation-width:0px!important}
html[data-window-mode="chat"][data-chat-layout="merged"].info-collapsed .chat-window{--info-width:0px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-pane{display:grid;min-width:0;overflow:hidden;transition:opacity .18s ease,border-color .18s ease}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{grid-template-rows:62px 1fr;border-right:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--accent-strong) 78%,#193747),color-mix(in srgb,var(--accent-strong) 58%,#162f3d));color:#fff}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-brand{display:grid;place-items:center;font-weight:800;letter-spacing:1px;border-bottom:1px solid rgba(255,255,255,.14)}
.merged-folder-list{min-width:92px;overflow:auto;padding:8px 5px;display:grid;align-content:start;gap:4px}
.merged-folder-button{position:relative;width:100%;min-height:61px;padding:6px 3px;border:0;border-radius:10px;display:grid;place-items:center;gap:3px;background:transparent;color:rgba(255,255,255,.66);cursor:pointer}
.merged-folder-button:hover,.merged-folder-button.active{background:rgba(255,255,255,.14);color:#fff}
.merged-folder-button i{font-style:normal;font-size:20px;line-height:1}.merged-folder-button span{max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.merged-folder-button b{position:absolute;right:6px;top:5px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;display:grid;place-items:center;background:#ff5d6c;color:#fff;font-size:9px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-pane{grid-template-rows:auto 1fr;border-right:1px solid var(--line);background:rgba(247,252,253,.94)}
.merged-conversation-pane>header{padding:12px 11px 9px;border-bottom:1px solid var(--line);display:grid;gap:3px}.merged-conversation-pane>header strong{font-size:14px}.merged-conversation-pane>header small{font-size:9px;color:var(--muted)}
.merged-search{height:34px;margin-top:6px;padding:0 9px;display:flex;align-items:center;gap:6px;border-radius:9px;background:#eaf3f6;color:var(--muted)}.merged-search input{min-width:0;width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
.merged-conversation-list{min-width:var(--conversation-expanded-width,268px);overflow:auto;padding:5px}.merged-conversation-list .contact-card{padding:8px 6px;border-radius:9px}.merged-conversation-list .contact-card img{width:43px;height:43px}.merged-conversation-list .contact-menu{display:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .conversation-column{grid-column:auto}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-sidebar{display:block;width:238px;min-width:238px;max-width:238px;overflow:auto;transition:opacity .18s ease,border-color .18s ease}
html[data-window-mode="chat"][data-chat-layout="merged"].folders-collapsed .merged-folder-rail,
html[data-window-mode="chat"][data-chat-layout="merged"].conversations-collapsed .merged-conversation-pane,
html[data-window-mode="chat"][data-chat-layout="merged"].info-collapsed .chat-sidebar{opacity:0;pointer-events:none;border-color:transparent}
html[data-window-mode="chat"][data-chat-layout="merged"].conversations-collapsed .merged-conversation-pane,html[data-window-mode="chat"][data-chat-layout="merged"].info-collapsed .chat-sidebar{display:none!important;visibility:hidden!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header{padding-left:13px;padding-right:10px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer>img{width:42px;height:42px}.chat-actions button.panel-collapsed{color:var(--accent-strong);background:var(--accent-soft)}
html[data-window-mode="main"] #chatModeBtn span{min-width:28px}
/* Qt-compatible merged workspace colors and screenshot-aligned spacing */
.context-menu{background:#f7fbfd;color:#173847;border-color:#a9d0df}
.context-menu button{color:#173847}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{
  background:linear-gradient(180deg,#176f91 0%,#214e63 100%);
  border-right:0;
  color:#fff;
}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-brand{color:#fff}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button{color:rgba(255,255,255,.88)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button span{max-width:82px;font-size:11px;font-weight:600}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button:hover,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.active{background:rgba(255,255,255,.18);color:#fff}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button{outline:none!important;-webkit-tap-highlight-color:transparent}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button:focus{outline:none!important;box-shadow:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer>div{margin-left:5px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer p{margin-top:3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-pane>header{gap:3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-search{margin-top:3px;gap:5px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list{padding:3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card{gap:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card+.contact-card{margin-top:3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .avatar-status+.contact-copy{margin-left:5px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-copy{gap:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-copy>p{margin-top:3px}
.composer-footer>div{display:flex;align-items:center;gap:0}
.composer-footer>div>.secondary-btn+.primary-btn{margin-left:10px!important}

/* Unified circular avatars, list-standard typography, history spacing, and Telegram-style read state */
.login-avatar,
.avatar-button img,
.contact-card img,
.chat-peer>img,
.message-row .msg-avatar,
.sidebar-cover img,
.group-member-avatar img,
.avatar-editor img,
.avatar-choice img,
.call-avatar-stage>img,
.skin-live-avatar,
.skin-live-contact>span,
.skin-live-message>span { border-radius:50%!important; }

.chat-peer>img,
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer>img,
.sidebar-cover img,
.group-member-avatar,
.group-member-avatar img,
.message-row .msg-avatar,
.group-contacts .contact-card img,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card img { width:42px;height:42px; }
.chat-peer strong,
.sidebar-info>strong,
.group-members>header strong,
.group-member-copy strong,
.message-author { font-size:13px; }
.chat-peer p,
.sidebar-cover span,
.sidebar-info>p,
.sidebar-info dl div,
.group-members>header span,
.group-member-copy small { font-size:11px; }
.sidebar-cover{height:112px;gap:5px}
.group-member-row{min-height:54px}
.group-member-avatar i{right:-1px;bottom:-1px}
.message-row{align-items:flex-start}
.message-row .msg-avatar{flex:none}
.message-meta{display:flex;align-items:center;gap:5px;padding:0 3px}
.message-row.mine .message-meta{justify-content:flex-end}
.message-time{padding:0;font-size:9px}
.message-status{min-width:10px;color:#8da4ae;font-size:10px;line-height:1;letter-spacing:-2px;white-space:nowrap}
.message-status.sending{letter-spacing:0}
.message-status.read{color:#168fca;font-weight:800}
.message-status.failed,.conversation-read-state.failed{color:#d94b57!important;font-weight:900;letter-spacing:0}
.history-search{gap:10px}
.history-modal>footer{gap:10px}

/* Telegram-style messages, categories, conversation management, and read details */
.message-row.private-message{padding-left:4px;padding-right:4px}
.message-row.private-message .message-bundle{max-width:76%}
.message-row.private-message:not(.mine){justify-content:flex-start}
.message-row.private-message.mine{justify-content:flex-start;flex-direction:row}
.message-row.private-message.mine .message-bundle{margin-left:auto;justify-items:end}
.message-row.group-message .message-bundle{max-width:72%}
.message-row.group-message .msg-avatar{margin-top:2px}
.message-row.group-message:not(.mine) .msg-avatar+.message-bundle{margin-left:7px!important}
.message-row.group-message.mine .msg-avatar{margin-left:7px!important}
.message-author{padding:0 5px;color:#4e879d;font-size:11px!important;font-weight:600}
.bubble{display:flow-root;min-width:58px}
.message-body{display:inline}
.message-body>.attachment-bubble{display:inline-flex}
.message-info-line{float:right;margin:6px 0 -2px 10px;display:inline-flex;align-items:center;gap:4px;color:#75909b;font-size:9px;line-height:1;white-space:nowrap}
.mine .message-info-line{color:rgba(255,255,255,.76)}
.message-info-line .message-time{padding:0;color:inherit;font-size:9px}
.message-info-line .message-status{width:auto;min-width:10px;height:auto;margin:0;padding:0;border:0;background:transparent;color:#7f9ca8;font:700 10px/1 "Segoe UI",sans-serif;letter-spacing:-2px;cursor:default}
.mine .message-info-line .message-status{color:rgba(255,255,255,.82)}
.mine .message-info-line .message-status.read{color:#d6f4ff}
.message-info-line button.message-status.read{cursor:pointer}
.message-info-line button.message-status.read:hover{color:#fff;text-shadow:0 0 5px rgba(255,255,255,.8)}
.message-status small{margin-left:3px;font-size:8px;letter-spacing:0}
.message-burn{font-size:8px;filter:saturate(.75)}

.contact-card .contact-top{justify-content:flex-start;gap:5px}
.contact-card .contact-top strong{min-width:0}
.contact-card .contact-top time{margin-left:auto}
.contact-category{max-width:88px;padding:1px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:8px;background:#e3f1f6;color:#527d8e;font-size:8px;font-weight:600}
.contact-bottom{min-width:0;display:flex;align-items:center;gap:5px}
.contact-bottom p{min-width:0;flex:1}
.conversation-flags{display:inline-flex;align-items:center;gap:3px;color:#6f909d;font-size:9px;white-space:nowrap}
.conversation-flags i{font-style:normal}
.contact-card.pinned::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;border-radius:2px;background:var(--accent)}
.contact-card.muted .contact-copy{opacity:.72}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card{margin:0;padding:9px 7px;border:0;border-bottom:1px solid rgba(24,113,151,.1);border-radius:0;box-shadow:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card:hover,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active{background:#e7f4f8;border-color:rgba(24,113,151,.12);box-shadow:none}

.context-menu.telegram-menu{width:210px;padding:7px;border-color:#b7d5df;background:#fff;box-shadow:0 14px 38px rgba(9,53,72,.24)}
.context-menu.telegram-menu button{min-height:34px;padding:8px 11px;font-size:12px}
.context-separator{display:block;height:1px;margin:5px 4px;background:var(--line)}
.context-menu .danger{color:#cf4652!important}
.context-menu .danger:hover{background:#fff0f1!important;color:#bc3440!important}

.read-receipt-list{display:grid;gap:4px;max-height:420px;overflow:auto}
.read-receipt-row{display:flex;align-items:center;gap:10px;min-height:54px;padding:6px;border-radius:10px}
.read-receipt-row:hover{background:#eaf5f8}
.read-receipt-row img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.read-receipt-row>span{min-width:0;flex:1;display:grid;gap:3px}
.read-receipt-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.read-receipt-row small{color:var(--muted);font-size:10px}
.read-receipt-row>b{color:#168fca;font-size:12px;letter-spacing:-2px}
/* Telegram-style conversation state, app dialogs, and shake control */
.conversation-read-state{flex:none;min-width:14px;color:#7895a0;font:700 10px/1 "Segoe UI",sans-serif;letter-spacing:-2px;text-align:center}
.conversation-read-state.read{color:#168fca}
.contact-card.active .conversation-read-state.read{color:var(--accent-strong)}
#shakeBtn{font-size:12px;font-weight:800}
.app-dialog-message{margin:0;color:var(--ink);font-size:13px;line-height:1.65;white-space:pre-wrap}
.app-dialog-modal>header button{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:#fff;font-size:22px;cursor:pointer}
.app-dialog-modal>header button:hover{background:rgba(255,255,255,.18)}
.app-dialog-modal.danger-dialog #appDialogConfirmBtn{border-color:#d94b57;background:#d94b57}
.context-menu{overflow:hidden;background-clip:padding-box}
@media (max-width: 1000px) {
  .skin-editor-workspace,
  html[data-window-mode="skin"] .skin-editor-workspace { grid-template-columns: minmax(0, 1fr); }
  .skin-live-preview-panel,
  html[data-window-mode="skin"] .skin-live-preview-panel { position: static; order: -1; min-width: 0; }
  html[data-window-mode="skin"] .skin-library-bar { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  html[data-window-mode="skin"] .skin-name-field,
  html[data-window-mode="skin"] .saved-skin-picker { grid-column: 1 / -1; }
  .skin-preview-stage,
  html[data-window-mode="skin"] .skin-preview-stage { min-height: 360px; }
  .skin-live-main { width: 210px; height: 345px; }
}
/* Unread status, Telegram-style folder add, and unified 10px button spacing */
.contact-trailing{flex:none;min-width:28px;margin-left:5px;display:grid;justify-items:end;align-content:center;gap:5px}
.contact-trailing time{margin:0!important;line-height:1}
.contact-trailing .contact-badge{position:static;min-width:19px;height:19px;padding:0 5px;box-shadow:0 0 0 2px rgba(255,255,255,.92)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-trailing{min-width:30px;margin-left:5px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-trailing .contact-badge{display:grid}

.folder-add-modal{width:min(620px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.folder-add-modal .modal-content{overflow:auto}
.segment-control.three-segments{grid-template-columns:repeat(3,1fr)}
.segment-control.four-segments{grid-template-columns:repeat(4,1fr)}
.folder-recent-section{min-height:180px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}
.folder-recent-section>header{display:flex;align-items:flex-end;justify-content:space-between}
.folder-recent-section>header strong{font-size:13px}.folder-recent-section>header small{color:var(--muted);font-size:10px}
.folder-recent-list{max-height:310px;overflow:auto;display:grid;align-content:start;gap:5px}
.folder-recent-card{width:100%;min-height:58px;padding:7px 9px;border:1px solid transparent;border-radius:11px;display:flex;align-items:center;gap:10px!important;background:#f5fafc;color:var(--ink);text-align:left;cursor:pointer}
.folder-recent-card:hover,.folder-recent-card.active{border-color:#8fc9dc;background:#e6f5fa;box-shadow:0 3px 10px rgba(17,101,135,.08)}
.folder-recent-card img{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover}
.folder-recent-card span{min-width:0;flex:1;display:grid;gap:4px}.folder-recent-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.folder-recent-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
.workspace-folder-manager-modal{width:min(880px,calc(100vw - 32px));height:min(620px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto}.workspace-folder-manager-modal>.modal-content{overflow:auto;padding:14px}.workspace-folder-manager-heading,.workspace-folder-manager-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 150px minmax(260px,auto);align-items:center;gap:10px}.workspace-folder-manager-heading{padding:0 12px 8px;color:var(--muted);font-size:12px}.workspace-folder-manager-row{min-height:62px;padding:8px 12px;border-top:1px solid var(--line);font-size:13px}.workspace-folder-manager-row>span{display:flex;align-items:center;gap:10px}.workspace-folder-manager-row>span:last-child{justify-content:flex-end;gap:10px}.workspace-folder-manager-row>span>i{width:5px;height:36px;border-radius:3px;flex:none}.workspace-folder-manager-row input:not([type=color]){min-width:0;width:100%;height:38px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:#fff;color:var(--ink);font:inherit}.workspace-folder-manager-row input[readonly]{border-color:transparent;background:transparent;font-weight:700}.workspace-folder-manager-row>b{color:var(--muted);font-size:13px}.workspace-folder-manager-row>label{display:flex;align-items:center;gap:8px}.workspace-folder-manager-row input[type=color]{width:34px;height:30px;padding:1px;border:1px solid var(--line);border-radius:7px;background:#fff}.workspace-folder-manager-row em{font-style:normal;color:var(--muted);font-size:12px}.workspace-folder-manager-row button{min-width:56px;height:32px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--accent-strong);cursor:pointer}.workspace-folder-manager-row button.danger{color:#e64a59}.workspace-folder-manager-row small{color:var(--muted);font-size:12px}.workspace-remote-result{width:100%;min-height:64px;padding:8px 10px;border:0;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:10px!important;background:rgba(255,255,255,.78);color:var(--ink);text-align:left;cursor:pointer}.workspace-remote-result:hover{background:var(--accent-soft)}.workspace-remote-result img{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover}.workspace-remote-result span{min-width:0;flex:1;display:grid;gap:3px}.workspace-remote-result strong,.workspace-remote-result small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;text-rendering:geometricPrecision}.workspace-remote-result small{color:var(--muted)}.workspace-remote-result em{font-style:normal;color:var(--accent-strong);font-size:12px}
@media(max-width:720px){.workspace-folder-manager-heading{display:none}.workspace-folder-manager-row{grid-template-columns:minmax(0,1fr) 54px}.workspace-folder-manager-row>label,.workspace-folder-manager-row>span:last-child{grid-column:1/-1}.workspace-folder-manager-row>span:last-child{justify-content:flex-end}}
.folder-recent-card b{min-width:19px;height:19px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:#ff5c68;color:#fff;font-size:9px}
.workspace-folder-manager-row.focused{background:var(--accent-soft);box-shadow:inset 3px 0 var(--accent)}
html.no-flex-gap .folder-recent-card,html.no-flex-gap .workspace-remote-result{gap:0!important}html.no-flex-gap .folder-recent-card>img+span,html.no-flex-gap .workspace-remote-result>img+span{margin-left:10px!important}
html.no-flex-gap .workspace-folder-manager-row>span:last-child{gap:0}html.no-flex-gap .workspace-folder-manager-row>span:last-child>button+button{margin-left:10px}
.clear-history-mode-modal>footer{flex-wrap:wrap}.danger-primary{border-color:#d94b57!important;background:#d94b57!important;color:#fff!important}

.window-actions,.login-links,.panel-actions,.chat-actions,.compose-toolbar,.composer-footer>div,.modal>footer,.skin-editor-footer,.skin-studio-window-actions,.login-footer,.bottom-toolbar,.segment-control,.skin-preview-switcher,.merged-folder-list{gap:10px!important}
.window-actions button+button,.login-links button+button,.panel-actions .icon-btn+.icon-btn,.chat-actions button+button,.compose-toolbar button+button,.composer-footer button+button,.modal>footer button+button,.skin-editor-footer button+button,.skin-studio-window-actions button+button,.bottom-toolbar button+button,.segment-control button+button,.skin-preview-switcher button+button{margin-left:0!important}
#remarkModal>footer{column-gap:0!important}
#remarkModal>footer>#deleteFriendBtn{margin:0!important}
#remarkModal>footer>#saveRemarkBtn{margin:0 0 0 10px!important}
#proxyModal>footer{gap:0!important}
#proxyModal>footer>#saveProxyBtn{margin-left:10px!important}
.bottom-toolbar #soundBtn{margin-left:0!important}
.bottom-toolbar .connection-status{margin-left:auto}
/* Multi-account rail, exact 5px title controls, and Windows-native outer shadows */
html[data-window-mode="main"] .panel-actions{display:flex!important;flex:0 0 auto!important;gap:0!important;justify-content:flex-end!important}
html[data-window-mode="main"] .panel-actions .icon-btn{flex:0 0 25px!important;min-width:25px!important;width:25px!important}
html[data-window-mode="main"] .contact-card .contact-menu{display:none!important}
html[data-window-mode="main"] .panel-actions .icon-btn+.icon-btn{margin-left:5px!important}
.account-switcher{width:38px;max-height:190px;padding:5px 0 1px;align-self:center;box-sizing:border-box;display:grid;justify-items:center;align-content:end;gap:6px;overflow:visible;scrollbar-width:none}
.account-switcher::-webkit-scrollbar{display:none}
.account-avatar-button{position:relative;width:30px;height:30px;padding:0;border:2px solid transparent;border-radius:50%;background:transparent;cursor:pointer;overflow:visible}
.account-avatar-button.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(255,255,255,.9)}
.account-avatar-button img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.account-avatar-button .account-online-dot{position:absolute;right:-1px;bottom:-1px;width:9px;height:9px;border:2px solid #eaf7fa;border-radius:50%;background:#2fc96f}
.account-avatar-button b{position:absolute;z-index:2;right:-2px;top:-5px;min-width:17px;height:17px;padding:0 4px;border:2px solid #eaf7fa;border-radius:10px;display:grid;place-items:center;background:#ff5764;color:#fff;font:700 8px/1 sans-serif;box-sizing:border-box}
.side-toolbar>.account-switcher+.rail-btn{margin-top:10px}

html[data-window-mode="main"] .login-screen,
html[data-window-mode="main"] .desktop-screen,
html[data-window-mode="chat"] .workspace{padding:0!important;box-sizing:border-box}
html[data-window-mode="main"].login-native-mode .login-window{box-shadow:var(--login-inner-shadow)!important}
html[data-window-mode="main"] .main-panel{box-shadow:var(--main-inner-shadow)!important}
html[data-window-mode="chat"] .chat-window{box-shadow:var(--chat-inner-shadow)!important}
/* Smooth native-window contour: keep the 1px border visible through antialiased corners. */
html[data-window-mode="main"] .login-window,
html[data-window-mode="main"] .main-panel,
html[data-window-mode="chat"] .chat-window{
  background-clip:padding-box!important;
  -webkit-background-clip:padding-box!important;
  outline:0!important;
  isolation:isolate;
}
html[data-window-mode="main"].login-native-mode body,
html[data-window-mode="main"].login-native-mode #app{
  border-radius:var(--login-radius);
  overflow:hidden;
}

html[data-window-mode="main"].login-native-mode .login-hero{
  border-radius:var(--login-radius) var(--login-radius) 0 0;
}
html[data-window-mode="main"].login-native-mode .login-footer{
  border-radius:0 0 var(--login-radius) var(--login-radius);
}
/* Presence switch and Telegram-style global directory search */
.profile-avatar-wrap{position:relative;width:60px;height:60px;flex:none;z-index:6}
.profile-avatar-wrap .avatar-button{position:absolute;inset:0}
.profile-avatar-wrap .status-switch{position:absolute;z-index:8;right:-2px;bottom:-2px;padding:0;cursor:pointer;box-shadow:0 0 0 2px rgba(255,255,255,.96)}
.status-dot.silent,.presence-dot.silent{background:#7488a5}
.status-dot.silent::after{content:"×";position:absolute;inset:-4px;display:grid;place-items:center;color:#fff;font:700 8px/1 "Segoe UI",sans-serif}
.search-box{position:relative;overflow:visible!important}
.global-search-results{position:absolute;z-index:80;top:calc(100% + 5px);left:0;right:0;max-height:390px;overflow:auto;padding:6px;border:1px solid #b7d5df;border-radius:12px;background:#fff;box-shadow:0 16px 38px rgba(9,53,72,.24)}
.global-search-heading{padding:5px 7px 7px;color:#668794;font-size:10px}
.global-search-card{width:100%;min-height:55px;padding:6px;border:0;border-radius:9px;display:flex;align-items:center;gap:8px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.global-search-card:hover,.global-search-card.active{background:#e7f4f8}
.global-search-card img{width:42px;height:42px;flex:none;border-radius:50%;object-fit:cover}
.global-search-card>span{min-width:0;flex:1;display:grid;gap:3px}
.global-search-card strong,.global-search-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.global-search-card strong{font-size:13px}.global-search-card small{color:var(--muted);font-size:10px}
.global-search-card em{flex:none;padding:2px 6px;border-radius:8px;background:#e6f2f6;color:#527d8e;font-size:9px;font-style:normal}
.status-menu{width:218px;padding:7px;background:#fff}
.status-menu button{min-height:48px;display:flex;align-items:center;gap:0}
.status-menu button>.presence-dot+span{margin-left:10px}
.status-menu button.active{background:#e7f4f8;color:var(--accent-strong)}
.status-menu button>span{display:grid;gap:2px}.status-menu strong{font-size:12px}.status-menu small{color:var(--muted);font-size:9px;font-weight:400}
.presence-dot{width:12px;height:12px;flex:none;border:2px solid #fff;border-radius:50%;background:#36c86f;box-shadow:0 0 0 1px rgba(20,87,111,.16)}
.presence-dot.busy{background:#ff9f2f}.presence-dot.invisible{background:#a8b8be}
.bottom-toolbar #soundBtn{margin-left:auto!important}
/* BlueBird profile desktop editor and inline signature */
#mainSignature{cursor:text;border-radius:5px;transition:background .15s,color .15s,box-shadow .15s}
#mainSignature:hover{background:rgba(255,255,255,.18)}
#mainSignature.is-editing{overflow:visible;text-overflow:clip;background:rgba(255,255,255,.92);color:#244b5c!important;opacity:1!important;box-shadow:0 0 0 1px rgba(22,143,202,.35);padding:3px 5px;white-space:nowrap}
.profile-avatar-actions{display:flex;align-items:center;justify-content:center;gap:10px}
.profile-detail-pane{position:relative;min-width:0;height:100%;overflow:hidden}
.system-avatar-pane{height:100%;padding:2px 0;overflow:auto;background:rgba(247,253,255,.98)}
.system-avatar-pane .section-label{align-items:center;margin:0 0 12px}
.system-avatar-pane .section-label>div{display:grid;gap:3px}
.system-avatar-pane .section-label strong{font-size:13px;color:var(--ink)}
.system-avatar-pane .avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px}
.system-avatar-pane .avatar-choice img{border-radius:50%}
html[data-window-mode="profile"] body,html[data-window-mode="profile"] #app{width:100%;height:100%;min-width:0;min-height:0;background:transparent!important;overflow:hidden}
html[data-window-mode="profile"] #app::before,html[data-window-mode="profile"] .wallpaper-glow,html[data-window-mode="profile"] #loginView,html[data-window-mode="profile"] #desktopView{display:none!important}
html[data-window-mode="profile"] .modal-backdrop{display:block!important;background:transparent;backdrop-filter:none}
html[data-window-mode="profile"] .profile-modal{display:grid!important;grid-template-rows:58px minmax(0,1fr) 52px;left:4px;top:4px;transform:none;width:calc(100vw - 8px);height:calc(100vh - 8px);max-height:none;overflow:hidden;border-radius:15px;background:#f7fdff;box-shadow:var(--main-shadow)}
html[data-window-mode="profile"] .profile-modal>header{position:relative;padding:10px 16px;user-select:none;overflow:hidden}
html[data-window-mode="profile"] .profile-modal>header h2{font-size:17px}
html[data-window-mode="profile"] .profile-layout{grid-template-columns:190px minmax(0,1fr);gap:22px;padding:14px 18px;overflow:hidden}
html[data-window-mode="profile"] .avatar-editor{align-content:center;border-right:1px solid var(--line);padding-right:18px}
html[data-window-mode="profile"] .avatar-editor img{width:128px;height:128px;border-radius:50%}
html[data-window-mode="profile"] .avatar-editor small{text-align:center;line-height:1.45}
html[data-window-mode="profile"] .profile-fields{gap:8px;align-content:start}
html[data-window-mode="profile"] .profile-fields label{gap:4px}
html[data-window-mode="profile"] .profile-fields input,html[data-window-mode="profile"] .profile-fields select{height:34px;padding:6px 9px}
html[data-window-mode="profile"] .profile-modal>footer{position:relative;padding:8px 16px}
html[data-window-mode="profile"] .profile-modal .modal-close,html[data-window-mode="profile"] .profile-modal button{outline:none!important}
/* BlueBird search directory, login spacing, and responsive profile sizing */
html.login-native-mode .login-hero .window-actions{display:flex!important;flex:0 0 auto!important;gap:0!important}
html.login-native-mode .login-hero .window-actions .icon-btn{flex:0 0 28px!important;min-width:28px!important;width:28px!important}
html.login-native-mode .login-hero .window-actions .icon-btn+.icon-btn{margin-left:10px!important}
/* r154: QtWebEngine does not reliably apply flex/grid gap or the clipped wave.
   Keep the native desktop header pixel-aligned with the browser login header. */
html.login-native-mode .login-hero>.brand-copy{margin-left:14px!important;gap:0!important}
html.login-native-mode .login-hero>.brand-copy small{margin-top:4px}
html.login-native-mode .login-hero::after{
  content:"";
  position:absolute;
  z-index:0;
  right:0;
  bottom:0;
  left:0;
  display:block;
  height:32px;
  clip-path:none;
  -webkit-clip-path:none;
  background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 460 32' preserveAspectRatio='none'%3E%3Cpath fill='%23fff' fill-opacity='.22' d='M0 24C28 24 38 13 63 16S102 27 131 16S178 7 210 16S260 29 292 16S344 7 378 17S426 24 460 13V32H0Z'/%3E%3C/svg%3E") center bottom/100% 32px no-repeat;
  pointer-events:none;
}
html[data-window-mode="profile"] .profile-layout{grid-template-columns:minmax(190px,30%) minmax(0,1fr)!important}
html[data-window-mode="profile"] .profile-fields .form-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:10px!important}
html[data-window-mode="profile"] .profile-avatar-actions{display:flex!important;flex-wrap:nowrap!important;gap:10px!important;width:max-content;max-width:100%}
html[data-window-mode="profile"] .profile-avatar-actions button{flex:0 0 auto;white-space:nowrap}
/* BlueBird compact profile controls, search spacing, and instant chat reveal */
html[data-window-mode="profile"] .profile-layout{grid-template-columns:230px minmax(0,1fr)!important}
html[data-window-mode="profile"] .profile-avatar-actions{gap:0!important}
html[data-window-mode="profile"] .profile-avatar-actions button{min-height:34px!important;height:34px;padding:5px 16px!important;border-radius:7px;font-size:11px!important;line-height:1!important}
html[data-window-mode="profile"] .profile-avatar-actions button+button{margin-left:10px!important}
.global-search-card{gap:0!important}
.global-search-card>span{margin-left:5px!important}
html[data-window-mode="chat"] .chat-window{animation:none!important;transition:none!important}

/* Keep Chromium's root compositor clipped to the same smooth native contour.
   This prevents a one-frame square clear when focus moves from main to chat. */
html[data-window-mode="main"]:not(.login-native-mode),
html[data-window-mode="main"]:not(.login-native-mode) body,
html[data-window-mode="main"]:not(.login-native-mode) #app{
  border-radius:var(--main-radius)!important;
  overflow:hidden!important;
  background-color:transparent!important;
}
html[data-window-mode="chat"],
html[data-window-mode="chat"] body,
html[data-window-mode="chat"] #app{
  border-radius:var(--chat-radius)!important;
  overflow:hidden!important;
  background-color:transparent!important;
}

/* Telegram-style pinned messages, drafts, and in-chat system notices */
.conversation-column{position:relative;grid-template-rows:auto minmax(0,1fr) 180px!important}
.conversation-column>.pinned-message-bar{grid-row:1}.conversation-column>.message-list{grid-row:2}.conversation-column>.composer{grid-row:3}
.pinned-message-bar{z-index:8;min-height:48px;padding:5px 8px;display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.96);box-shadow:0 3px 10px rgba(20,87,113,.08)}
.pinned-message-copy{position:relative;min-width:0;flex:1;height:38px;padding:3px 8px 3px 12px;border:0;background:transparent;display:flex;align-items:center;gap:8px;text-align:left;cursor:pointer;color:var(--ink)}
.pinned-message-copy::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:3px;background:var(--accent)}
.pinned-message-copy>i{font-style:normal;font-size:15px;color:var(--accent)}
.pinned-message-copy>span{min-width:0;display:grid;gap:2px}.pinned-message-copy strong{font-size:11px;color:var(--accent-strong)}.pinned-message-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:var(--muted)}
.pinned-message-bar>button:not(.pinned-message-copy){width:27px;height:27px;padding:0;border:0;border-radius:7px;background:transparent;color:#668896;cursor:pointer;font-size:17px}.pinned-message-bar>button:not(.pinned-message-copy):hover{background:var(--accent-soft);color:var(--accent-strong)}
.pinned-message-count{min-width:28px;color:#7895a0;font-size:9px;text-align:center}
.pinned-messages-modal{width:min(520px,calc(100vw - 32px));height:auto!important;max-height:min(520px,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.pinned-messages-modal>header{min-height:72px!important;padding-top:14px!important;padding-bottom:14px!important}.pinned-messages-modal>footer{min-height:56px!important;padding-top:10px!important;padding-bottom:10px!important}.pinned-messages-list{min-height:76px;max-height:340px;padding:6px!important;overflow:auto!important;display:grid;align-content:start;gap:3px}
.pinned-list-item{box-sizing:border-box;width:100%;min-width:0;min-height:64px;padding:7px 9px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--ink);display:grid;grid-template-columns:3px minmax(0,1fr) 24px;align-items:center;gap:10px;text-align:left;cursor:pointer}
.pinned-list-item:hover,.pinned-list-item.active{border-color:var(--line);background:var(--accent-soft)}
.pinned-list-item>i{width:3px;height:42px;border-radius:3px;background:var(--accent)}
.pinned-list-item>span{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:4px}
.pinned-list-item strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-strong);font-size:13px}
.pinned-list-item small{grid-column:1/-1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:13px;line-height:18px}
.pinned-list-item time{grid-column:2;grid-row:1;color:var(--muted);font-size:11px;white-space:nowrap}
.pinned-list-item>b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.72);color:var(--muted);font-size:11px}
.pinned-list-empty{padding:52px 20px;text-align:center;color:var(--muted);font-size:13px}
.pinned-messages-modal>footer>span{min-width:0;flex:1;color:var(--muted);font-size:12px}
.chat-system-notice{position:absolute;z-index:12;left:50%;top:12px;transform:translateX(-50%);max-width:min(430px,calc(100% - 30px));padding:8px 13px;border-radius:10px;background:rgba(36,63,75,.92);box-shadow:0 6px 18px rgba(5,39,54,.2);color:#fff;font-size:11px;line-height:1.5;text-align:center;white-space:nowrap;pointer-events:none;animation:chat-notice-in .18s ease}
.pinned-message-bar:not(.is-hidden)+.chat-system-notice{top:60px}@keyframes chat-notice-in{from{opacity:0;transform:translate(-50%,-5px)}}
.message-row{position:relative}.message-row.pin-highlight .bubble{box-shadow:0 0 0 3px rgba(22,143,202,.22),0 5px 16px rgba(20,87,113,.13)}
.message-context-menu{width:170px!important}
.contact-card.has-draft .contact-bottom p.contact-draft{color:#df4350!important}.contact-card .contact-draft b{font-weight:700;margin-right:3px}.contact-card.has-draft .conversation-read-state{display:none}
/* Twelve-item adaptive merged folder rail: no brand slot and no scrollbar. */
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{
  grid-template-rows:minmax(0,1fr)!important;
  min-height:0;
}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-brand{display:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-list{
  min-height:0;
  height:100%;
  padding:5px!important;
  overflow:hidden!important;
  align-content:start;
  grid-auto-rows:var(--folder-item-height,61px);
  gap:var(--folder-gap,4px)!important;
  scrollbar-width:none;
}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-list::-webkit-scrollbar{display:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button{
  min-height:0!important;
  height:var(--folder-item-height,61px);
  padding:2px 3px!important;
  gap:1px!important;
  border-radius:8px;
}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button i{font-size:clamp(13px,2.1vh,19px)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button span{font-size:clamp(8px,1.2vh,11px);line-height:1.15}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button b{right:4px;top:3px;transform:scale(.88);transform-origin:top right}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button[draggable="true"]{cursor:grab;user-select:none;-webkit-user-select:none;transition:opacity .14s,transform .14s,background-color .14s}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.dragging{cursor:grabbing;opacity:.38;transform:scale(.96)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.drag-before::before,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.drag-after::after{content:"";position:absolute;z-index:5;left:6px;right:6px;height:2px;border-radius:2px;background:#fff;box-shadow:0 0 0 1px rgba(22,143,202,.72),0 0 7px rgba(255,255,255,.85)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.drag-before::before{top:-3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button.drag-after::after{bottom:-3px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{position:relative;overflow:visible}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-list{min-width:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button span{max-width:calc(var(--folder-width,92px) - 12px)}
.merged-folder-resize-handle{position:absolute;z-index:38;top:0;right:-7px;width:14px;height:100%;padding:0;border:0;outline:0;background:transparent;cursor:ew-resize;touch-action:none;-webkit-app-region:no-drag}
.merged-folder-resize-handle::after{content:"";position:absolute;top:0;bottom:0;left:4px;width:2px;background:rgba(255,255,255,.78);box-shadow:0 0 0 1px rgba(19,112,147,.35);opacity:0;transition:opacity .12s}
.merged-folder-resize-handle:hover::after,.merged-folder-resize-handle:focus-visible::after,html.folder-rail-resizing .merged-folder-resize-handle::after{opacity:1}
html.folder-rail-resizing,html.folder-rail-resizing *{cursor:ew-resize!important;user-select:none!important}
html.folder-rail-resizing[data-window-mode="chat"] .chat-content{transition:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"].folders-collapsed .merged-folder-resize-handle{display:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-button span{font-size:13px;line-height:1.2;font-weight:600}
.chat-peer>.chat-peer-copy{min-width:0;display:grid;gap:3px}
.chat-peer .chat-peer-name-row{min-width:0;display:flex;align-items:center;gap:0;margin:0}
.chat-peer-name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-peer-status-spacer{flex:0 0 5px;width:5px;height:1px}.chat-peer-status{flex:none;margin:0;font-size:11px;font-weight:500;color:#27ae67;white-space:nowrap}
.chat-peer-status.busy{color:#dd921f}.chat-peer-status.offline,.chat-peer-status.invisible{color:#94a7af}.chat-peer-status.silent{color:#687f89}
.chat-peer .chat-peer-signature{min-width:0;max-width:420px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}
.chat-peer-name-row strong{font-size:15px}.chat-peer-status{font-size:12px}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-cover span{font-size:12px}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info{min-width:0;padding:16px;overflow:hidden}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info>strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info>p{min-width:0;margin:8px 0 0;min-height:36px;overflow-wrap:anywhere;font-size:13px;line-height:1.55}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dl{min-width:0;width:100%;gap:6px}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dl div{min-width:0;width:100%;display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;font-size:13px}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dt{min-width:0;color:var(--muted)}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dd{min-width:0;max-width:100%;margin:0;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--ink)}
.sidebar-edit-value{display:block;width:100%;min-width:0;min-height:30px;padding:4px 7px;border:0;border-radius:7px;overflow:hidden;background:transparent;color:var(--ink);font:inherit;text-align:right;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.sidebar-edit-value:hover,.sidebar-edit-value:focus-visible{outline:0;background:var(--accent-soft);color:var(--accent-strong)}
html[data-window-mode="chat"][data-chat-layout="merged"] .group-members>header span,html[data-window-mode="chat"][data-chat-layout="merged"] .group-member-copy small{font-size:12px}
/* Account-aware registration window, fitted dialogs, and uniform dark contours. */
.modal:not(.skin-modal):not(.history-modal){
  overflow:hidden;
  display:grid;
  grid-template-rows:auto minmax(0,auto) auto;
}
.modal:not(.skin-modal):not(.history-modal)>.modal-content{min-height:0;overflow:visible}
.register-modal{width:min(720px,calc(100vw - 16px));max-height:none}
.register-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:22px;padding:16px 18px}
.register-avatar-editor{min-width:0;padding-right:18px;border-right:1px solid var(--line);display:grid;justify-items:center;align-content:center;gap:10px;text-align:center}
.register-avatar-editor img{width:112px;height:112px;border:4px solid #fff;border-radius:50%;object-fit:cover;box-shadow:0 8px 24px rgba(15,86,114,.17)}
.register-avatar-editor strong{font-size:14px;color:var(--ink)}
.register-avatar-editor small{max-width:175px;color:var(--muted);font-size:12px;line-height:1.55}
.register-fields{align-content:center;gap:9px}
.register-fields label{gap:4px}
.register-fields label,.register-fields input,.register-fields select,.register-fields button{font-size:13px}.register-account-status,.register-verification-note{font-size:12px!important;line-height:1.45}
.register-fields input{height:34px;padding:6px 9px}
.register-fields .check-line{margin-top:2px}
html[data-window-mode="register"],html[data-window-mode="register"] body,html[data-window-mode="register"] #app{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:transparent!important}
html[data-window-mode="register"] #app::before,html[data-window-mode="register"] .wallpaper-glow,html[data-window-mode="register"] #loginView,html[data-window-mode="register"] #desktopView{display:none!important}
html[data-window-mode="register"] .modal-backdrop{display:block!important;background:transparent;backdrop-filter:none}
html[data-window-mode="register"] .register-modal:not(.is-hidden){display:grid!important;grid-template-rows:58px minmax(0,1fr) 52px;left:4px;top:4px;transform:none;width:calc(100vw - 8px);height:calc(100vh - 8px);max-height:none;border:1px solid color-mix(in srgb,var(--main-border) 52%,#071820);border-radius:15px;background:#f7fdff;box-shadow:var(--main-shadow)}
html[data-window-mode="register"] .register-modal>header{position:relative;padding:10px 16px;overflow:hidden;user-select:none}
html[data-window-mode="register"] .register-modal>footer{position:relative;padding:8px 16px}
html[data-window-mode="register"] .register-layout{overflow:hidden}
html[data-window-mode="main"] .login-window{border-color:color-mix(in srgb,var(--login-border) 48%,#071820)!important;box-shadow:inset 0 0 12px rgba(8,65,94,.09)!important}
html[data-window-mode="main"] .main-panel{border-color:color-mix(in srgb,var(--main-border) 48%,#071820)!important;box-shadow:inset 0 0 12px rgba(8,65,94,.09)!important}
html[data-window-mode="chat"] .chat-window{border-color:color-mix(in srgb,var(--chat-border) 48%,#071820)!important;box-shadow:inset 0 0 12px rgba(8,65,94,.09)!important}
.modal.fit-compact>header{padding:8px 14px}.modal.fit-compact>.modal-content{padding:9px 14px}.modal.fit-compact>footer{padding:7px 14px}.modal.fit-compact .form-stack{gap:7px}.modal.fit-compact .form-stack label{gap:3px}.modal.fit-compact .form-stack input,.modal.fit-compact .form-stack select{height:32px;padding-top:5px;padding-bottom:5px}.modal.fit-compact .form-note,.modal.fit-compact .test-result{padding:7px}
@media(max-width:680px){.register-layout{grid-template-columns:170px minmax(0,1fr);gap:14px}.register-avatar-editor{padding-right:13px}.register-avatar-editor img{width:92px;height:92px}}
@media(max-height:560px){.modal:not(.skin-modal):not(.history-modal)>.modal-content{padding-top:12px;padding-bottom:12px}.form-stack{gap:9px}.form-stack input,.form-stack select{height:34px}.modal>header{padding-top:11px;padding-bottom:11px}.modal>footer{padding-top:8px;padding-bottom:8px}}

/* Registration avatar and verification controls. */
.register-avatar-choices{width:174px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.register-avatar-choice{width:30px;height:30px;padding:2px;border:2px solid transparent;border-radius:9px;background:transparent;cursor:pointer}
.register-avatar-choice:hover,.register-avatar-choice.active{border-color:var(--accent);background:var(--accent-soft)}
.register-avatar-choice img{display:block;width:100%;height:100%;border-radius:6px;object-fit:cover}
.register-avatar-step-modal{width:min(560px,calc(100vw - 28px))}
.register-avatar-step-return{border:0;background:transparent;color:inherit;font-size:22px;cursor:pointer}
.register-avatar-step-content{min-height:250px;display:grid;align-items:center}
.register-avatar-decision{display:grid;justify-items:center;gap:10px;padding:18px;text-align:center}
.register-avatar-decision img,.register-avatar-picker-pane>img{width:128px;height:128px;border:4px solid #fff;border-radius:50%;object-fit:cover;background:var(--accent-soft);box-shadow:0 8px 24px rgba(15,86,114,.17)}
.register-avatar-decision strong{font-size:18px;color:var(--ink)}
.register-avatar-decision small{max-width:360px;color:var(--muted);font-size:12px;line-height:1.6}
.register-avatar-picker-pane{display:grid;grid-template-columns:152px minmax(0,1fr);align-items:center;gap:28px;padding:8px 18px}
.register-avatar-picker-controls{min-width:0;display:grid;gap:12px}
.register-avatar-picker-controls .register-avatar-choices{width:100%}
.register-avatar-picker-controls .register-avatar-choices .avatar-picker-tabs{gap:6px;margin-bottom:10px;padding:4px;border-radius:12px}
.register-avatar-picker-controls .register-avatar-choices .avatar-picker-tabs button{height:36px;padding:0 8px;font-size:13px}
.register-avatar-picker-controls .register-avatar-choices .avatar-picker-grid{width:100%;grid-template-columns:repeat(5,minmax(52px,1fr));gap:8px}
.register-avatar-picker-controls .register-avatar-choice{width:100%;height:auto;aspect-ratio:1;padding:3px;border-radius:11px}
.register-avatar-picker-controls .register-avatar-choice img{border-radius:8px}
.register-avatar-picker-controls>button{justify-self:start;min-height:40px;padding:7px 18px;font-size:14px}
.register-avatar-picker-controls>small{color:var(--muted);font-size:13px;line-height:1.55}
.register-avatar-step-modal>footer{justify-content:flex-end}
html[data-window-mode="register"] .register-avatar-step-modal:not(.is-hidden){display:grid!important;grid-template-rows:58px minmax(0,1fr) 52px;left:4px;top:4px;transform:none;width:calc(100vw - 8px);height:calc(100vh - 8px);max-height:none;z-index:80;border:1px solid color-mix(in srgb,var(--main-border) 52%,#071820);border-radius:15px;background:#f7fdff;box-shadow:var(--main-shadow)}
html[data-window-mode="register"] .register-modal.is-hidden,html[data-window-mode="register"] .register-avatar-step-modal.is-hidden{display:none!important}
html[data-window-mode="register"] .register-avatar-step-modal>header{position:relative;padding:10px 16px;overflow:hidden;user-select:none}
html[data-window-mode="register"] .register-avatar-step-modal>.register-avatar-step-content{min-height:0;padding:16px 18px;overflow:hidden}
html[data-window-mode="register"] .register-avatar-step-modal>footer{position:relative;padding:8px 16px}
@media(max-width:560px){.register-avatar-picker-pane{grid-template-columns:1fr;justify-items:center}.register-avatar-picker-controls{justify-items:center}.register-avatar-picker-controls .register-avatar-choices .avatar-picker-grid{grid-template-columns:repeat(5,30px)}}
.register-account-field{position:relative}
.register-account-status{min-height:14px;margin-top:1px;font-size:9px;line-height:1.35;font-weight:600}
.register-account-status.checking{color:var(--muted)}
.register-account-status.available{color:#198449}
.register-account-status.registered{color:#b86400}
.register-account-status.unavailable{color:#c23c48}
.register-account-status.invalid{color:#d5434f}
.register-verification-row{align-items:stretch}
.register-captcha-controls{min-width:0;flex:1 1 auto;display:flex;gap:7px}
.register-captcha-controls>input{min-width:0;flex:1 1 100px}
.register-captcha-controls>.captcha-image-button{flex:0 0 auto}
.register-verification-note{margin-top:-4px;color:var(--muted);font-size:9px}
/* Unified movable dialog titles and strong antialiased window contours. */
.modal>header,.login-hero,.profile-header,.chat-header{cursor:move;cursor:grab}
.modal>header:active,.login-hero:active,.profile-header:active,.chat-header:active{cursor:grabbing}
.modal>header button,.modal>header input,.modal>header select,.login-hero button,.profile-header button,.chat-header button{cursor:pointer}
html[data-window-mode="main"] .login-window,
html[data-window-mode="main"] .main-panel,
html[data-window-mode="chat"] .chat-window,
html[data-window-mode="register"] .register-modal,
html[data-window-mode="profile"] .profile-modal{
  border-color:#153b4c!important;
  box-shadow:inset 0 0 0 1px rgba(21,59,76,.58),inset 0 0 12px rgba(8,65,94,.09)!important;
}
html[data-window-mode="main"] .main-panel{
  position:relative;
  border:1px solid var(--main-border)!important;
  box-shadow:none!important;
  -webkit-user-select:none;
  user-select:none;
}
html[data-window-mode="main"] .main-panel input,
html[data-window-mode="main"] .main-panel textarea,
html[data-window-mode="main"] .main-panel [contenteditable="true"]{
  -webkit-user-select:text;
  user-select:text;
}
/* Live profile refresh, compact minimize glyph, message reactions, anchored emoji picker and image viewer. */
.window-actions [data-action="minimize"],
.panel-actions [data-action="minimize"],
.chat-actions [data-action="minimize"]{position:relative;font-size:0!important}
.window-actions [data-action="minimize"]::before,
.panel-actions [data-action="minimize"]::before,
.chat-actions [data-action="minimize"]::before{content:"";position:absolute;left:50%;top:50%;display:block;width:9px;height:1.5px;margin:0;border-radius:2px;background:currentColor;transform:translate(-50%,-50%)}

.emoji-popover{position:fixed!important;z-index:85!important;left:0;top:0;bottom:auto!important;width:260px;max-width:calc(100vw - 20px)}
.message-context-menu{width:224px}
.message-reaction-picker{display:grid;grid-template-columns:repeat(6,30px);justify-content:center;gap:4px;padding:3px 0}
.message-reaction-picker button{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;font-size:18px;cursor:pointer}
.message-reaction-picker button:hover{background:var(--accent-soft);transform:scale(1.08)}
.message-info-line .message-reactions{display:inline-flex;align-items:center;gap:3px;margin:0}
.message-info-line .message-reaction{display:inline-flex;align-items:center;gap:2px;min-width:0;height:20px;padding:0 2px;border:0;border-radius:10px;background:rgba(255,255,255,.72);color:var(--ink);font-size:13px;line-height:18px;cursor:pointer;box-shadow:none}
.message-info-line .message-reaction.active{background:rgba(220,246,255,.92);color:var(--accent-strong)}
.mine .message-info-line .message-reaction{background:rgba(255,255,255,.18);color:#fff}
.message-info-line .reaction-emoji{display:block;line-height:18px}
.message-info-line .reaction-avatars{display:inline-flex;align-items:center;padding-right:1px}
.message-info-line .reaction-avatars img{display:block;width:17px;height:17px;margin-left:-4px;border:1.5px solid #fff;border-radius:50%;object-fit:cover;background:#fff}
.message-info-line .reaction-avatars img:first-child{margin-left:0}
.message-info-line .reaction-avatars b{margin-left:2px;font-size:8px;line-height:17px}
.message-body .chat-image{cursor:zoom-in}
.message-body .chat-video-message{display:block;width:min(360px,62vw);max-width:100%;max-height:260px;border-radius:10px;background:#0b1014;object-fit:contain}
.chat-video-pending{position:relative;display:block;width:min(360px,62vw);max-width:100%;min-width:220px;min-height:140px;padding:0;overflow:hidden;border:0;border-radius:10px;background:#17242c;color:#fff;cursor:pointer}.chat-video-pending>img{width:100%!important;max-width:none!important;height:100%;min-height:140px;max-height:240px!important;margin:0!important;border-radius:0!important;object-fit:cover}.chat-video-pending>i,.attachment-group-video-visual>i,.attachment-send-video-preview>i,.composer-video-preview>i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-style:normal}.chat-video-pending>i{width:52px;height:52px;font-size:24px}.chat-video-pending>small{position:absolute;left:10px;bottom:8px;padding:3px 7px;border-radius:12px;background:rgba(0,0,0,.55);font-size:12px}
.attachment-upload-progress{display:grid;grid-template-columns:minmax(72px,1fr) auto;align-items:center;gap:8px;min-width:150px;margin-top:6px}.attachment-upload-progress>i{display:block;height:5px;overflow:hidden;border-radius:3px;background:rgba(86,119,132,.25)}.attachment-upload-progress>i>b{display:block;height:100%;border-radius:inherit;background:#2a9bd8;transition:width .16s linear}.attachment-upload-progress>em{font-size:10px;font-style:normal;white-space:nowrap;color:#6e8d99}.mine .attachment-upload-progress>i{background:rgba(0,0,0,.2)}.mine .attachment-upload-progress>i>b{background:#111}.mine .attachment-upload-progress>em{color:#111;font-weight:600}
.attachment-upload-failures{display:grid;gap:4px;margin-top:6px}.attachment-upload-failures>span{display:flex;align-items:center;justify-content:flex-end;gap:8px}.attachment-upload-failures em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d74242;font-size:11px;font-style:normal}.attachment-upload-failures button{border:1px solid rgba(215,66,66,.45);border-radius:10px;background:rgba(255,255,255,.78);color:#c83232;font-size:11px;line-height:20px;padding:0 9px;cursor:pointer}.attachment-upload-failures button:hover{background:#fff}
.single-upload-media{position:relative;display:block;max-width:100%}.single-upload-media>.chat-image,.single-upload-media>.chat-video-message{display:block;min-width:180px;min-height:120px;background:#dce7ec}.attachment-circular-upload{position:absolute;z-index:5;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);display:grid;place-items:center;box-sizing:border-box;border-radius:50%;background:rgba(18,23,27,.78);box-shadow:0 1px 4px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.18);pointer-events:none}.attachment-circular-upload>svg{position:absolute;z-index:2;left:4px;top:4px;width:38px;height:38px;overflow:visible;transform:rotate(-90deg)}.attachment-circular-upload>svg circle{fill:none;stroke-width:3;vector-effect:non-scaling-stroke}.attachment-upload-track{stroke:rgba(255,255,255,.28)}.attachment-upload-value{stroke:#fff;stroke-linecap:round;stroke-dasharray:100;transition:stroke-dashoffset .16s linear}.attachment-circular-upload>i{position:relative;z-index:3;color:#fff;font:normal 25px/1 Arial,sans-serif;text-shadow:0 1px 2px rgba(0,0,0,.58)}.attachment-circular-upload.is-complete{background:rgba(18,23,27,.72);box-shadow:0 1px 4px rgba(0,0,0,.38),inset 0 0 0 1px rgba(255,255,255,.18)}.attachment-circular-upload.is-complete>i{font-size:22px}.attachment-circular-upload.is-failed{background:rgba(170,39,50,.84);box-shadow:0 1px 4px rgba(0,0,0,.38),inset 0 0 0 2px rgba(255,255,255,.72)}.attachment-circular-upload.is-failed>i{font-weight:700;font-size:23px}
.image-viewer{position:fixed;z-index:120;inset:0;display:grid;place-items:center;padding:40px;background:rgba(4,18,27,.86);backdrop-filter:blur(4px)}
.image-viewer>img{display:block;max-width:calc(100vw - 70px);max-height:calc(100vh - 70px);object-fit:contain;border-radius:8px;box-shadow:0 20px 70px rgba(0,0,0,.55)}
.video-viewer>video{display:block;width:min(960px,calc(100vw - 70px));max-height:calc(100vh - 70px);border-radius:10px;background:#000;box-shadow:0 20px 70px rgba(0,0,0,.58)}
.image-viewer>button{position:absolute;right:18px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:26px;cursor:pointer}
.image-viewer>button:hover{background:rgba(255,255,255,.28)}

/* Composer attachment queue and Telegram-style anchored reaction palette. */
.composer-editor{min-height:0;display:flex;flex-direction:column;overflow:auto;background:transparent}
.composer-editor textarea{flex:1;min-height:58px}
.composer-attachment-preview{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px 2px;align-items:center}
.composer-attachment-card{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 24px;align-items:center;gap:8px;min-width:190px;max-width:280px;padding:6px 7px;border:1px solid var(--line);border-radius:10px;background:rgba(238,249,253,.96);box-shadow:0 3px 10px rgba(12,76,103,.08)}
.composer-attachment-card>img,.composer-attachment-icon{width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--accent-soft);display:grid;place-items:center;font-size:20px}
.attachment-send-video-preview,.composer-video-preview{position:relative;width:42px;height:42px;overflow:hidden;border-radius:50%;display:block}.attachment-send-video-preview>img,.composer-video-preview>img{width:100%;height:100%;margin:0;object-fit:cover}.attachment-send-video-preview>i,.composer-video-preview>i{width:24px;height:24px;font-size:12px}
.composer-attachment-card>span{min-width:0;display:grid;gap:2px}.composer-attachment-card strong,.composer-attachment-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-attachment-card strong{font-size:12px}.composer-attachment-card small{font-size:10px;color:var(--muted)}
.composer-attachment-remove{width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:16px}.composer-attachment-remove:hover{background:#ffe9ec;color:#d83d54}
.attachment-send-modal{width:min(430px,calc(100vw - 32px));overflow:hidden;background:#fff}.attachment-send-modal>header{position:static;padding:15px 18px;color:var(--ink);background:#fff;border-bottom:1px solid var(--line)}.attachment-send-modal>header h2{font-size:16px}.attachment-send-modal>header button{width:30px;height:30px;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.attachment-send-modal>header button:hover{background:var(--accent-soft);color:var(--accent-strong)}.attachment-send-content{padding:8px 18px 4px}.attachment-send-list{display:grid;max-height:min(330px,45vh);overflow:auto}.attachment-send-row{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr) 30px;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--line) 72%,transparent)}.attachment-send-row>img,.attachment-send-row-icon{width:42px;height:42px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:#42aee8;color:#fff;font-size:20px}.attachment-send-row>span{min-width:0;display:grid;gap:3px}.attachment-send-row strong,.attachment-send-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-send-row strong{font-size:12px;color:var(--ink)}.attachment-send-row small{font-size:12px;color:var(--muted)}.attachment-send-remove{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.attachment-send-remove:hover{background:#ffe9ec;color:#d83d54}.attachment-merge-row{display:flex!important;align-items:center;gap:10px;padding:12px 0 8px;color:var(--ink)!important;font-size:12px!important}.attachment-merge-row input{width:20px!important;height:20px!important;accent-color:var(--accent)}.attachment-caption-field{display:grid;gap:5px;color:var(--accent-strong);font-size:12px}.attachment-caption-field textarea{width:100%;min-height:58px;padding:5px 0;border:0;border-bottom:2px solid var(--accent);border-radius:0;resize:vertical;outline:0;background:#fff;color:var(--ink);font:inherit;line-height:1.5}.attachment-send-status{min-height:18px;margin:5px 0 0;color:var(--muted);font-size:12px}.attachment-send-status.error{color:#d83d54}.attachment-send-modal>footer{position:static;padding:10px 18px;gap:10px;background:#fff}.attachment-send-footer-spacer{flex:1}.attachment-send-modal button{font-size:12px}.attachment-send-modal.is-sending button,.attachment-send-modal.is-sending input,.attachment-send-modal.is-sending textarea{pointer-events:none;opacity:.68}.attachment-caption{display:block;margin-top:6px;white-space:pre-wrap;word-break:break-word}.message-body>.attachment-caption:first-child{margin-top:0}
.grouped-attachment-message .bubble{min-width:250px;padding:0!important;overflow:hidden}.grouped-attachment-message .message-body{display:block}.attachment-media-group{display:grid;min-width:250px}.attachment-group-item{min-width:0;display:flex;align-items:center;gap:0;padding:9px 11px;color:inherit;text-decoration:none}.attachment-group-item+.attachment-group-item{border-top:1px solid rgba(92,145,102,.18)}.attachment-group-item .attachment-icon,.attachment-group-thumb{flex:0 0 42px;width:42px!important;height:42px!important;margin:0!important;border-radius:50%!important;object-fit:cover}.attachment-group-item .attachment-icon{background:#4fbe68!important;color:#fff;font-size:20px}.attachment-group-item .attachment-copy{flex:1;margin-left:10px}.attachment-group-item .attachment-copy strong,.attachment-group-item .attachment-copy small{font-size:12px}.grouped-attachment-message .attachment-caption{margin:0;padding:7px 11px 2px;border-top:1px solid rgba(92,145,102,.18)}.grouped-attachment-message .message-info-line{margin:3px 8px 5px 10px!important}
.attachment-group-item[data-play-grouped-video]{width:100%;border:0;outline:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none}.attachment-group-video-visual{position:relative;flex:0 0 42px;width:42px;height:42px;overflow:hidden;border-radius:50%;display:block}.attachment-group-video-thumb{width:42px!important;height:42px!important;max-width:none!important;max-height:none!important;margin:0!important;border-radius:50%!important;object-fit:cover}.attachment-group-video-visual>i{width:25px;height:25px;font-size:12px}
.emoji-popover{box-sizing:border-box!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;align-content:start!important;width:260px!important;max-width:calc(100vw - 20px)!important;height:auto!important;max-height:none!important;overflow:hidden!important;padding:10px!important}
.emoji-popover button{box-sizing:border-box!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
.message-reaction-popover{position:fixed;z-index:110;display:flex;flex-direction:column;gap:3px;width:46px;padding:6px;border:1px solid rgba(18,88,117,.18);border-radius:23px;background:rgba(255,255,255,.98);box-shadow:0 10px 28px rgba(14,56,75,.22)}
.message-reaction-popover button{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;font-size:22px;line-height:34px;cursor:pointer;transition:transform .12s ease,background .12s ease}
.message-reaction-popover button:hover{background:var(--accent-soft);transform:scale(1.14)}
.message-row .bubble{cursor:pointer}
.attachment-download{text-decoration:none;color:inherit}
.message-context-menu .message-reaction-picker{display:none}


/* Desktop-centered dialogs, aligned profile details, and Telegram message surfaces. */
.sidebar-cover #sidebarProfileLabel{display:none!important}
.sidebar-cover{gap:0!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info{box-sizing:border-box;width:100%;padding:16px 18px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dl{box-sizing:border-box;width:100%;margin-top:14px;gap:8px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info>strong,html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info>p{display:block;width:100%;text-align:left!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dl>div{box-sizing:border-box;width:100%;display:grid!important;grid-template-columns:72px minmax(0,1fr)!important;align-items:center;column-gap:14px!important;font-size:13px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dt{min-width:0;justify-self:start!important;text-align:left!important;line-height:30px;white-space:nowrap}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-info dd{box-sizing:border-box;width:100%;min-width:0;max-width:none;min-height:30px;justify-self:stretch!important;display:flex;align-items:center;justify-content:flex-end!important;text-align:right!important;font-size:13px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-edit-value{box-sizing:border-box;width:100%;max-width:none;min-height:30px;padding:4px 7px;text-align:right}
.message-list{padding:14px 18px;background:#e7edf0}
.message-row{margin:5px 0;gap:8px}
.message-row .message-bundle{gap:2px}
.message-author{padding:0 7px 1px;color:#3390a8!important;font-size:11px!important}
.message-row .bubble{min-width:52px;padding:7px 9px 5px;border:0!important;border-radius:13px 13px 13px 4px!important;background:#fff!important;color:#18333f!important;box-shadow:0 1px 2px rgba(16,48,62,.18)!important;font-size:13px;line-height:1.42}
.message-row.mine .bubble{border-radius:13px 13px 4px 13px!important;background:#e5f7d3!important;color:#18333f!important}
.message-info-line{float:right;margin:7px 0 -1px 10px!important;gap:3px!important;color:#8a9aa1!important;font-size:9px!important;line-height:18px!important}
.mine .message-info-line{color:#62a34c!important}
.message-info-line .message-time{font-size:9px!important;line-height:18px}
.message-info-line .message-status,.mine .message-info-line .message-status,.mine .message-info-line .message-status.read{color:#55a53f!important;line-height:18px!important}
.message-info-line .message-status.failed,.mine .message-info-line .message-status.failed{color:#d94b57!important}
.message-info-line .message-reaction{height:18px!important;min-height:18px;padding:0 3px!important;border:0!important;border-radius:9px!important;background:#edf2f4!important;color:#173847!important;line-height:18px!important}
.mine .message-info-line .message-reaction{background:#ccebbd!important;color:#245d2b!important}
.message-info-line .message-reaction.active{background:#b9e5a7!important;color:#1e6c2e!important}
.message-info-line .reaction-emoji{line-height:17px!important}
.message-info-line .reaction-avatars img{width:16px!important;height:16px!important;border-color:#fff!important}
.message-row .attachment-bubble{color:inherit}
.message-row.mine .attachment-icon{background:rgba(64,139,66,.14)}


/* Dedicated desktop-hosted utility dialogs: desktop centered, no parent-window clamp or scrollbars. */
html[data-window-mode="dialog"],
html[data-window-mode="dialog"] body,
html[data-window-mode="dialog"] #app{
  width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:transparent!important;
  border-radius:16px;clip-path:inset(0 round 16px);
}
html[data-window-mode="dialog"] #app::before,
html[data-window-mode="dialog"] .wallpaper-glow,
html[data-window-mode="dialog"] #loginView,
html[data-window-mode="dialog"] #desktopView{display:none!important}
html[data-window-mode="dialog"] .modal-backdrop{display:block!important;overflow:hidden;border-radius:16px;background:transparent;backdrop-filter:none}
html[data-window-mode="dialog"] .modal:not(.is-hidden){
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;
  left:4px;top:4px;transform:none!important;width:calc(100vw - 8px);height:calc(100vh - 8px);
  max-height:none;overflow:hidden;border-radius:16px;animation:none!important;background:#f7fdff;
}
html[data-window-mode="dialog"] .modal-content{overflow:hidden}
html[data-window-mode="dialog"] #manageGroupsModal .modal-content{overflow:auto}
html[data-window-mode="dialog"] .modal>header,
html[data-window-mode="dialog"] .modal>footer{position:relative}

/* Public user ID and compact profile footer. */
html[data-window-mode="profile"] .avatar-editor{align-content:start!important}
html[data-window-mode="profile"] .avatar-editor img{margin-top:2px}
html[data-window-mode="profile"] .profile-user-id-field{width:100%;display:grid;gap:4px;color:var(--muted);font-size:11px;text-align:left}
html[data-window-mode="profile"] .profile-user-id-field input{box-sizing:border-box;width:100%;height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);outline:0}
html[data-window-mode="profile"] .profile-user-id-field input:focus{border-color:var(--accent)}
html[data-window-mode="profile"] .profile-user-id-field input.invalid{border-color:#d94b57;background:#fff7f8}
html[data-window-mode="profile"] #profileUserIdStatus{min-height:16px;color:var(--muted);font-size:9px;text-align:left}
html[data-window-mode="profile"] #profileUserIdStatus.available{color:#198449}
html[data-window-mode="profile"] #profileUserIdStatus.unavailable{color:#d5434f}
html[data-window-mode="profile"] .profile-modal>footer{height:52px;box-sizing:border-box;align-items:center}
html[data-window-mode="profile"] .profile-modal>footer button{min-height:34px!important;height:34px!important;padding:5px 16px!important;font-size:12px!important;line-height:1!important}

/* Compact desktop utility dialogs: keep form rows at the top instead of stretching blank tracks. */
html[data-window-mode="dialog"] #addContactModal>.modal-content,
html[data-window-mode="dialog"] #manageGroupsModal>.modal-content{align-content:start!important}
html[data-window-mode="dialog"] #addContactModal>.modal-content{padding-top:14px;padding-bottom:14px}
html[data-window-mode="dialog"] #manageGroupsModal>.modal-content{padding-top:14px;padding-bottom:12px}

/* Complete narrow-screen info overlay and clean desktop dialog contour. */
html[data-window-mode="chat"][data-chat-layout="merged"].info-force-overlay .chat-content{position:relative;grid-template-columns:var(--folder-width) var(--conversation-width) minmax(0,1fr) 0!important}
html[data-window-mode="chat"][data-chat-layout="merged"].info-force-overlay .chat-sidebar{position:absolute!important;z-index:24;top:0;right:0;bottom:0;width:238px!important;min-width:238px!important;max-width:238px!important;opacity:1!important;pointer-events:auto!important;border-left:1px solid var(--line)!important;background:var(--chat-panel)!important;box-shadow:-12px 0 28px rgba(12,54,72,.18)}
html[data-window-mode="chat"][data-chat-layout="merged"].info-force-overlay .sidebar-info{padding-left:18px!important;padding-right:18px!important}

html[data-window-mode="chat"][data-chat-layout="merged"].info-force-overlay .sidebar-info dl>div{grid-template-columns:70px minmax(0,1fr)!important;column-gap:14px!important}

/* Main navigation tabs and user-configurable tool catalog. */
.list-area{grid-template-rows:auto auto minmax(0,1fr)}
.list-area.tool-mode{grid-template-rows:minmax(0,1fr)}
.list-area.tool-mode>.list-primary-tabs,.list-area.tool-mode>.main-folder-tabs-shell,.list-area.tool-mode>.list-heading{display:none}
.list-primary-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:5px 7px 4px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,#fff)}
.list-primary-tabs button{min-width:0;height:29px;padding:0 5px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer;white-space:nowrap}
.list-primary-tabs button:hover{background:rgba(255,255,255,.78);color:var(--accent-strong)}
.list-primary-tabs button.active{border-color:color-mix(in srgb,var(--accent) 24%,var(--line));background:#fff;color:var(--accent-strong);box-shadow:0 2px 7px rgba(15,80,104,.09);font-weight:700}
.tools-tab{padding:0!important;overflow:hidden!important}
.tools-tab.active{display:grid;grid-template-rows:minmax(0,1fr)}
.tool-catalog{position:relative;min-height:0;overflow:auto;padding:2px 3px 12px;align-content:start}
.tool-empty-state{min-height:280px;padding:30px 16px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center;color:var(--muted)}
.tool-empty-state>span{font-size:43px}.tool-empty-state>strong{color:var(--ink);font-size:15px}.tool-empty-state>p{margin:0 0 7px;font-size:11px;line-height:1.55}
.tool-loose-section,.tool-column{margin:0 0 8px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--line));border-radius:10px;overflow:hidden;background:rgba(255,255,255,.72);box-shadow:0 2px 8px rgba(17,101,135,.05)}
.tool-column{margin-bottom:2px;border:1px solid rgba(24,113,151,.16)!important;border-radius:0!important;box-shadow:none!important}
.tool-loose-section>header,.tool-column>header{min-height:34px;padding:0 5px 0 9px;display:flex;align-items:center;border-bottom:1px solid var(--line);background:linear-gradient(to bottom,rgba(244,252,255,.96),rgba(225,244,250,.88))}
.tool-loose-section>header{gap:7px}.tool-loose-section>header strong{font-size:12px}.tool-loose-section>header small{margin-left:auto;color:var(--muted);font-size:9px}
.tool-column-toggle{min-width:0;flex:1;height:34px;padding:0 4px;border:0;display:flex;align-items:center;gap:0;background:transparent;color:var(--ink);text-align:var(--tool-title-align,left);cursor:pointer}
.tool-column-toggle>span{font-size:9px;transition:transform .18s}.tool-column-toggle>strong{min-width:0;flex:1;margin-left:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:var(--tool-title-align,left);font-size:12px}.tool-column-toggle>i{font-style:normal;font-size:10px}.tool-column-toggle>small{color:var(--muted);font-size:9px}
.tool-column-more{width:26px;height:26px;padding:0;border:0;border-radius:0;background:transparent;color:var(--muted);cursor:pointer}.tool-column-more:hover{background:#fff;color:var(--accent-strong)}
.tool-column-items{padding:0;display:grid;gap:0}.tool-column-items::after{content:"";display:block;min-height:36px;grid-column:1/-1}.tool-column.horizontal .tool-column-items,.tool-column-items.horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}
.tool-catalog.desktop-drop-ready{box-shadow:none}.tool-column.desktop-drop-target{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 58%,transparent)!important;background:color-mix(in srgb,var(--accent) 7%,rgba(255,255,255,.9))}
.tool-column.collapsed .tool-column-items{display:none}.tool-column.collapsed .tool-column-toggle>span{transform:rotate(-90deg)}
.tool-column.title-hidden .tool-item-main>span:last-child{display:none}.tool-column.spacious .tool-column-items{padding:5px;gap:5px}.tool-column.spacious .tool-item{border:0}
.tool-item{min-width:0;display:flex;align-items:center;border:0;border-radius:0;background:transparent;transition:.15s}
.tool-item:hover,.tool-item.hover-preview{border:0;background:rgba(43,165,211,.12);box-shadow:inset 0 0 0 1px var(--accent)}
.tool-item.context-selected{border:0;background:transparent;box-shadow:none}
.tool-item.marquee-selected{background:rgba(43,165,211,.2);box-shadow:inset 0 0 0 1px var(--accent)}
.tool-marquee-box{position:absolute;z-index:8;pointer-events:none;border:1px solid var(--accent);background:rgba(43,165,211,.18);box-shadow:0 0 0 1px rgba(255,255,255,.35) inset}.tool-catalog.marquee-selecting{user-select:none;-webkit-user-select:none;cursor:crosshair}
.tool-item[draggable="true"]{cursor:pointer}.tool-item.dragging{opacity:.45}.tool-item.reorder-before{box-shadow:inset 0 2px 0 var(--accent)!important}.tool-item.reorder-after{box-shadow:inset 0 -2px 0 var(--accent)!important}.tool-column.horizontal .tool-item.reorder-before{box-shadow:inset 2px 0 0 var(--accent)!important}.tool-column.horizontal .tool-item.reorder-after{box-shadow:inset -2px 0 0 var(--accent)!important}.tool-column-items.tool-reorder-end{box-shadow:inset 0 -2px 0 var(--accent)}.tool-column.tool-reorder-column-target{box-shadow:inset 0 0 0 2px var(--accent)!important}.tool-column.tool-reorder-column-target>header{background:rgba(43,165,211,.18)}
.tool-item-main{min-width:0;flex:1;min-height:49px;padding:6px 7px;border:0;display:flex;align-items:center;gap:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.tool-item-main>img,.tool-item-main>span:first-child{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;font-size:20px;overflow:hidden}.tool-item-main>img{border:0;border-radius:0;object-fit:contain;background:transparent}.tool-item-main>span:first-child{border-radius:9px;background:var(--accent-soft)}
.tool-item-main>span:last-child{min-width:0;margin-left:5px;display:grid;gap:3px}.tool-item-main strong,.tool-item-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-item-main strong{font-size:11px}.tool-item-main small{color:var(--muted);font-size:9px}
.tool-column.compact .tool-item-main{min-height:38px}.tool-column.compact .tool-item-main>img,.tool-column.compact .tool-item-main>span:first-child{width:25px;height:25px;flex-basis:25px;border-radius:7px;font-size:15px}.tool-column.compact .tool-item-main small{display:none}
.tool-column.list-view .tool-item{border-radius:0;background:transparent}.tool-column.list-view .tool-item-main{min-height:37px}.tool-column.list-view .tool-item-main>img,.tool-column.list-view .tool-item-main>span:first-child{width:25px;height:25px;flex-basis:25px;border-radius:5px;font-size:15px}
.tool-column-empty{min-height:45px;border:1px dashed var(--line);border-radius:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.tool-column-empty:hover{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}
.tool-add-card{width:100%;height:38px;border:1px dashed color-mix(in srgb,var(--accent) 45%,var(--line));border-radius:9px;background:rgba(255,255,255,.45);color:var(--accent-strong);font-size:10px;cursor:pointer}.tool-add-card:hover{background:#fff}
.tool-web-view{position:relative;min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden;background:#fff}
.tool-web-controls{position:absolute;z-index:4;top:8px;right:9px;pointer-events:none}
.tool-web-controls button{width:32px;height:32px;padding:0;border:0;border-radius:9px;display:grid;place-items:center;background:rgba(247,252,254,.94);color:var(--accent-strong);box-shadow:0 3px 11px rgba(12,75,99,.16);font-size:19px;cursor:pointer;pointer-events:auto;backdrop-filter:blur(5px)}
.tool-web-controls button:hover{background:#fff;transform:translateY(-1px)}
.tool-web-view iframe{display:block;width:100%;height:100%;min-width:0;min-height:0;border:0;background:#fff}
.tool-icon-editor{display:grid;grid-template-columns:minmax(0,1fr) auto 42px;gap:7px;align-items:center}.tool-icon-editor #uploadToolIconBtn{height:39px;padding:5px 10px}.tool-icon-editor #toolIconPreview{width:39px;height:39px;padding:0;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;overflow:hidden;background:#fff;color:var(--ink);font-size:20px;cursor:pointer}.tool-icon-editor #toolIconPreview:hover{border-color:var(--accent);background:var(--accent-soft)}.tool-icon-editor #toolIconPreview img{width:100%;height:100%;object-fit:contain}.tool-emoji-picker{padding:8px;display:grid;grid-template-columns:repeat(10,minmax(28px,1fr));gap:5px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 7px 20px rgba(15,80,104,.12)}.tool-emoji-picker button{height:31px;padding:0;border:0;border-radius:7px;background:transparent;font-size:19px;cursor:pointer}.tool-emoji-picker button:hover{background:var(--accent-soft);transform:translateY(-1px)}
.tool-choose-program{width:100%}.tool-editor-modal>footer>span{flex:1}.tool-editor-modal label>small{font-size:9px;color:var(--muted)}
.tool-column-menu{width:205px!important;max-height:calc(100vh - 16px);overflow:auto!important}.tool-item-menu{width:178px!important}.tool-item-menu button:disabled{opacity:.42;cursor:default}

/* User tools live in the left rail; the toolbox button only opens management. */
.tool-rail-items{width:38px;max-height:min(330px,46vh);margin-top:10px;display:flex;flex:0 1 auto;flex-direction:column;row-gap:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}
.tool-rail-items::-webkit-scrollbar{display:none}
.tool-rail-button{position:relative;width:38px;height:38px;min-height:38px;flex:0 0 38px;padding:0;border:0;border-radius:11px;display:grid;place-items:center;background:transparent;color:var(--ink);cursor:pointer}
.tool-rail-button+.tool-rail-button{margin-top:10px}
.tool-rail-button:hover,.tool-rail-button.active{color:var(--accent-strong);background:rgba(255,255,255,.92);box-shadow:0 3px 9px rgba(17,101,135,.1)}
.tool-rail-button img,.tool-rail-glyph{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;object-fit:cover;background:var(--accent-soft);font-size:18px;overflow:hidden}
.tool-rail-button.column .tool-rail-glyph{background:linear-gradient(145deg,var(--accent-soft),#fff);font-size:17px;font-weight:700}
#toolManagerBtn{margin-top:10px}

/* One draggable desktop dialog manages every tool type. */
.tool-editor-modal{width:min(780px,calc(100vw - 32px));height:min(610px,calc(100vh - 40px));overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.tool-manager-content{min-height:0;padding:16px;display:grid;grid-template-columns:minmax(230px,.85fr) minmax(340px,1.15fr);gap:16px;overflow:hidden}
.tool-manager-overview,.tool-editor-form{min-width:0;min-height:0;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.74);overflow:hidden}
.tool-manager-overview{display:grid;grid-template-rows:auto minmax(0,1fr)}
.tool-manager-overview>header,.tool-editor-form>header{min-height:54px;padding:10px 12px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:rgba(235,248,252,.82)}
.tool-manager-overview>header>div,.tool-editor-form>header>div{min-width:0;display:grid;gap:3px}
.tool-manager-overview>header strong,.tool-editor-form>header strong{font-size:13px}
.tool-manager-overview>header small,.tool-editor-form>header small{color:var(--muted);font-size:9px}
.tool-manager-overview>header button{margin-left:auto;flex:none}
.tool-manager-list{min-height:0;padding:8px;display:grid;align-content:start;gap:10px;overflow:auto}
.tool-manager-empty{padding:32px 12px;color:var(--muted);font-size:11px;line-height:1.6;text-align:center}
.tool-manager-row{min-width:0;min-height:52px;padding:6px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer}
.tool-manager-row:hover,.tool-manager-row:focus-visible{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:color-mix(in srgb,var(--accent) 5%,#fff);outline:0}
.tool-manager-row.active{border-color:color-mix(in srgb,var(--accent) 56%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 12%,transparent)}
.tool-manager-icon,.tool-manager-icon img,.tool-manager-icon>span{width:38px;height:38px;display:grid;place-items:center;font-size:20px;overflow:hidden}.tool-manager-icon img{border:0;border-radius:0;object-fit:contain;background:transparent}.tool-manager-icon>span{border-radius:9px;background:var(--accent-soft)}
.tool-manager-copy{min-width:0;display:grid;gap:3px}.tool-manager-copy strong,.tool-manager-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-manager-copy strong{font-size:12px}.tool-manager-copy small{font-size:10px;color:var(--muted)}

/* Telegram-style private contact profile and shared-media panel. */
.conversation-column{grid-template-rows:auto auto minmax(0,1fr) 180px!important}
.conversation-column>.pinned-message-bar{grid-row:1}.conversation-column>.non-contact-banner{grid-row:2}.conversation-column>.message-list{grid-row:3}.conversation-column>.composer{grid-row:4}
.non-contact-banner{z-index:7;min-height:48px;padding:6px 12px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid rgba(104,132,143,.2);background:rgba(255,255,255,.985);box-shadow:0 2px 7px rgba(20,67,85,.055)}
.non-contact-banner>img{width:40px;height:40px;border:0;border-radius:50%;object-fit:cover;background:#e8f3f7}
.non-contact-banner-copy{min-width:0;display:grid;gap:2px}.non-contact-banner-copy strong,.non-contact-banner-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.non-contact-banner-copy strong{color:#233c48;font-size:12px;font-weight:700}.non-contact-banner-copy small{color:#7c929c;font-size:9px}
.non-contact-banner-actions{display:flex;align-items:center;justify-content:center;gap:8px}.non-contact-banner-actions button{height:34px;padding:0 13px;border:0;border-radius:7px;background:transparent;font-family:inherit;font-size:11px;font-weight:700;cursor:pointer}
.non-contact-banner-actions #bannerAddContactBtn{color:var(--accent-strong)}.non-contact-banner-actions #bannerAddContactBtn:hover{background:var(--accent-soft)}
.non-contact-banner-actions #bannerBlockUserBtn{color:#d74754}.non-contact-banner-actions #bannerBlockUserBtn:hover{background:#fff0f2}
.sidebar-last-seen{min-height:0!important;margin:4px 0 0!important;color:#899da6!important;font-size:10px!important}.sidebar-info>#sidebarSignature{margin:8px 0 0!important}
.sidebar-quick-actions{margin:13px 0 2px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.sidebar-quick-actions button{min-width:0;height:54px;padding:5px 3px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.88);color:var(--ink);cursor:pointer;display:grid;place-items:center;align-content:center;gap:4px}.sidebar-quick-actions button:hover,.sidebar-quick-actions button.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft);color:var(--accent-strong)}.sidebar-quick-actions i{font-style:normal;font-size:15px}.sidebar-quick-actions span{font-size:10px}.sidebar-quick-actions button.active i{color:#d18c00}
.private-contact-section{border-top:1px solid var(--line);background:rgba(255,255,255,.44)}.sidebar-username{width:100%;padding:13px 18px 10px;border:0;background:transparent;display:grid;gap:3px;text-align:left;cursor:pointer}.sidebar-username:hover{background:var(--accent-soft)}.sidebar-username:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-username span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-strong);font-size:13px}.sidebar-username small{color:var(--muted);font-size:9px}.sidebar-link-action{width:calc(100% - 36px);margin:0 18px 12px;padding:7px 0;border:0;background:transparent;color:var(--accent-strong);font-size:12px;font-weight:700;text-align:left;cursor:pointer}.sidebar-link-action:hover{text-decoration:underline}
.sidebar-media-links{border-top:7px solid rgba(120,153,166,.12);border-bottom:7px solid rgba(120,153,166,.12)}.sidebar-media-links button,.sidebar-list-action{width:100%;min-height:44px;padding:8px 18px;border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.72);display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;color:var(--ink);text-align:left;cursor:pointer}.sidebar-media-links button:last-child{border-bottom:0}.sidebar-media-links button:hover,.sidebar-list-action:hover{background:var(--accent-soft)}.sidebar-media-links i,.sidebar-list-action i{font-style:normal;color:var(--accent-strong);font-size:16px}.sidebar-media-links span,.sidebar-list-action span{font-size:11px}.sidebar-media-links b{min-width:18px;color:var(--muted);font-size:10px;font-weight:500;text-align:right}.sidebar-list-action{grid-template-columns:26px minmax(0,1fr);border-bottom:1px solid var(--line)}.sidebar-list-action.danger{color:#dc4351}.sidebar-list-action.danger i{color:#dc4351}
.sidebar-shared-groups{border-bottom:7px solid rgba(120,153,166,.12);background:rgba(255,255,255,.72)}.sidebar-shared-groups>header{min-height:38px;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.sidebar-shared-groups>header strong{font-size:12px}.sidebar-shared-groups>header span{color:var(--muted);font-size:11px}.sidebar-shared-groups>div>p{margin:0;padding:11px 18px;color:var(--muted);font-size:11px}.sidebar-shared-group{width:100%;min-height:48px;padding:7px 18px;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;text-align:left;color:var(--ink);cursor:pointer}.sidebar-shared-group:last-child{border-bottom:0}.sidebar-shared-group:hover{background:var(--accent-soft)}.sidebar-shared-group img{width:34px;height:34px;border-radius:50%;object-fit:cover}.sidebar-shared-group span{min-width:0;display:grid;gap:2px}.sidebar-shared-group strong,.sidebar-shared-group small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-shared-group strong{font-size:11px}.sidebar-shared-group small{color:var(--muted);font-size:10px}
.shared-media-modal{width:min(680px,calc(100vw - 32px));height:min(680px,calc(100vh - 40px));display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;overflow:hidden}.shared-media-tabs{padding:8px 14px;display:grid;grid-template-columns:repeat(5,1fr);gap:8px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.84)}.shared-media-tabs button{height:34px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;font-size:11px}.shared-media-tabs button.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}.shared-media-tabs b{font-size:9px}.shared-media-list{overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px}.shared-media-list>.empty-state{grid-column:1/-1}.shared-media-item{min-width:0;padding:8px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;gap:7px}.shared-media-item img,.shared-media-item video{width:100%;height:126px;border-radius:8px;background:#e8f0f2;object-fit:cover}.shared-media-item img{cursor:pointer}.shared-media-item audio{width:100%;height:34px}.shared-media-placeholder{height:126px;border-radius:8px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-strong);font-size:32px}.shared-media-item span{min-width:0;display:grid;gap:3px}.shared-media-item strong,.shared-media-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-media-item strong{font-size:10px}.shared-media-item small{color:var(--muted);font-size:9px}.shared-link-item{grid-column:1/-1;width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;color:var(--ink);text-align:left;cursor:pointer}.shared-link-item:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accent-soft)}.shared-link-item>i{width:34px;height:34px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-strong);font-style:normal;font-size:17px}.shared-link-item>span{min-width:0;display:grid;gap:3px}.shared-link-item strong,.shared-link-item small,.shared-link-item em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-link-item strong{font-size:12px}.shared-link-item small{color:var(--accent-strong);font-size:10px}.shared-link-item em{color:var(--muted);font-size:9px;font-style:normal}
.share-contact-list{margin-top:12px;max-height:390px;overflow:auto;display:grid;gap:5px}.share-contact-target{width:100%;padding:8px;border:1px solid transparent;border-radius:10px;background:transparent;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:0;column-gap:10px!important;text-align:left;cursor:pointer}.share-contact-target:hover{border-color:var(--line);background:var(--accent-soft)}.share-contact-target img{display:block;width:38px;height:38px;margin:0!important;border-radius:10px;object-fit:cover}.share-contact-target>span{min-width:0;margin:0!important;display:grid;gap:3px;justify-self:stretch}.share-contact-target strong,.share-contact-target small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px!important;line-height:1.35}.share-contact-target small{color:var(--muted)}
.shared-contact-card{min-width:210px;padding:0;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;column-gap:10px!important;text-align:left;cursor:pointer}.shared-contact-card img{grid-column:1;width:42px!important;height:42px!important;margin:0!important;border-radius:50%!important;object-fit:cover}.shared-contact-card span{grid-column:2;min-width:0;margin:0!important;display:grid;gap:2px}.shared-contact-card strong,.shared-contact-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-contact-card small{opacity:.78}
.composer.is-blocked{opacity:1}.composer-unblock-action{position:absolute;z-index:20;inset:0;width:100%;height:100%!important;min-height:100%;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--chat-panel,#f7fbfd);color:var(--accent-strong);font-family:inherit;cursor:pointer}.composer-unblock-action:hover{background:var(--accent-soft)}.composer-unblock-action strong{font-size:14px}.composer-unblock-action small{margin-top:4px;color:var(--muted);font-size:11px}
.sidebar-shared-groups>button{width:100%;min-height:42px;padding:8px 10px;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between;color:var(--ink);font:inherit;font-size:12px;cursor:pointer}.sidebar-shared-groups>button>strong{font-size:12px;font-weight:600}.sidebar-shared-groups>button>span{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:11px}.sidebar-shared-groups>button b{font-size:11px;font-weight:600;color:var(--accent-strong)}
.chat-sidebar{position:relative}.sidebar-detail-drawer{position:absolute;z-index:30;inset:0;min-height:100%;overflow:auto;background:var(--chat-panel,#f7fcfd);box-shadow:-12px 0 28px rgba(12,54,72,.16);transform:translateX(104%);visibility:hidden;transition:transform .22s cubic-bezier(.2,.75,.2,1),visibility 0s linear .22s}.sidebar-detail-drawer.open{transform:translateX(0);visibility:visible;transition-delay:0s}.sidebar-detail-drawer>header{position:sticky;z-index:2;top:0;min-height:52px;padding:7px 10px;display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.sidebar-detail-drawer>header button{width:32px;height:32px;border:0;background:transparent;color:var(--accent-strong);font-size:28px;line-height:28px;cursor:pointer}.sidebar-detail-drawer>header strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:12px}.sidebar-detail-drawer>div>p{margin:0;padding:14px;color:var(--muted);font-size:11px;text-align:center}
#appSettingsModal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}#appSettingsModal>.modal-content,html[data-window-mode="dialog"] #appSettingsModal>.modal-content{min-height:0;overflow-y:auto!important;overscroll-behavior:contain}html[data-window-mode="dialog"] #appSettingsModal{height:min(640px,calc(100vh - 16px));max-height:calc(100vh - 16px)}
.chat-float-actions{position:absolute;z-index:14;right:14px;bottom:194px;display:flex;flex-direction:column;align-items:center;gap:8px}.chat-float-btn{position:relative;width:44px;height:44px;padding:0;border:1px solid rgba(111,139,150,.2);border-radius:50%;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(16,58,77,.16);color:#8799a1;cursor:pointer;display:grid;place-items:center}.chat-float-btn:hover{border-color:rgba(47,165,211,.55);color:var(--accent-strong);transform:translateY(-1px)}.chat-float-btn:disabled{opacity:.5;cursor:default;transform:none}.chat-float-btn>b{position:absolute;right:-4px;top:-7px;min-width:20px;height:20px;padding:0 5px;border:2px solid #fff;border-radius:11px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:10px;font-weight:600}.chat-like-status-btn>span{font-size:27px;line-height:1;transform:translateY(-1px)}.unread-jump-btn>.jump-chevron{width:24px;height:24px;display:grid;place-items:center;transform:none}.unread-jump-btn>.jump-chevron svg{display:block;width:24px;height:24px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.unread-separator{margin:13px 0 9px;display:flex;align-items:center;gap:10px;color:var(--accent-strong);font-size:10px;font-weight:700}.unread-separator::before,.unread-separator::after{content:"";height:1px;flex:1;background:color-mix(in srgb,var(--accent) 40%,var(--line))}.unread-separator span{padding:3px 9px;border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 78%,#fff)}.message-row.unread-highlight .bubble{animation:unread-message-pulse 1.5s ease}.message-row.reaction-notice-highlight .bubble{animation:reaction-notice-pulse 1.8s ease}@keyframes unread-message-pulse{0%,100%{box-shadow:0 1px 2px rgba(16,48,62,.18)!important}20%,70%{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 28%,transparent),0 6px 18px rgba(16,90,119,.18)!important}}@keyframes reaction-notice-pulse{0%,100%{box-shadow:0 1px 2px rgba(16,48,62,.18)!important}18%,72%{box-shadow:0 0 0 4px rgba(235,101,113,.24),0 6px 18px rgba(16,90,119,.18)!important}}
@media(max-width:720px){.conversation-column{grid-template-rows:auto auto minmax(0,1fr) 190px!important}.shared-media-tabs{grid-template-columns:repeat(2,1fr)}.shared-media-list{grid-template-columns:repeat(2,minmax(0,1fr))}.chat-float-actions{bottom:204px}}
.tool-manager-row button{min-width:48px;padding-left:10px;padding-right:10px}
.tool-editor-form{display:grid;grid-template-rows:auto minmax(0,1fr)}
.tool-editor-form>.form-stack{min-height:0;padding:12px;overflow:auto}
.tool-editor-modal .form-stack label,.tool-editor-modal .segment-control button,.tool-editor-modal .secondary-btn,.tool-editor-modal .primary-btn,.tool-editor-modal .text-btn{font-size:12px}.tool-editor-modal .form-stack input,.tool-editor-modal .form-stack select{font-size:12px}.tool-manager-overview>header small,.tool-editor-form>header small{font-size:10px}.tool-editor-modal label>small{font-size:10px}
.no-flex-gap .modal>footer button+button{margin-left:10px!important}

@media(max-width:680px){.tool-manager-content{grid-template-columns:1fr;overflow:auto}.tool-manager-overview{min-height:190px}.tool-editor-form{min-height:430px}.tool-editor-modal{height:calc(100vh - 24px)}}


html[data-window-mode="dialog"] .modal:not(.is-hidden){border:1px solid #153b4c!important;box-shadow:inset 0 0 0 1px rgba(21,59,76,.38),inset 0 0 10px rgba(8,65,94,.06)!important}

/* Dialog geometry follows the live skin radius; keep checkboxes from inheriting full-width form input rules. */
.modal{border-radius:var(--main-radius,18px)!important}
.setting-checkbox-row{display:flex!important;align-items:center;justify-content:space-between;gap:14px;color:var(--ink)!important}
.setting-checkbox-row>span{min-width:0;display:grid;gap:4px}.setting-checkbox-row strong{font-size:12px}.setting-checkbox-row small{font-size:12px;line-height:1.45;color:var(--muted)}
.setting-checkbox-row>input[type="checkbox"]{width:18px!important;height:18px!important;min-width:18px;margin:0;padding:0;flex:0 0 18px}
#remarkModal .modal-content,#remarkModal .form-stack label,#remarkModal .form-stack input,#remarkModal .form-stack select{font-size:12px}

.forward-message-modal{width:min(430px,calc(100vw - 28px));height:min(570px,calc(100vh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
.forward-message-modal>.modal-content{min-height:0;padding:12px 10px!important;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}
.forward-search{width:100%;height:38px;margin:0;box-sizing:border-box;padding:0;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;color:var(--accent-strong)}.forward-search>span{display:none}.forward-search input{min-width:0;flex:1;height:100%;box-sizing:border-box;padding:0 10px!important;border:0;outline:0;background:transparent;color:var(--ink)}
.forward-target-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:3px}.forward-target-row{width:100%;min-height:52px;padding:6px 8px;border:1px solid transparent;border-radius:10px;background:transparent;display:grid;grid-template-columns:40px minmax(0,1fr) 22px;align-items:center;gap:10px;text-align:left;cursor:pointer}.forward-target-row:hover,.forward-target-row.selected{border-color:var(--line);background:var(--accent-soft)}.forward-target-row img{width:40px;height:40px;border-radius:50%;object-fit:cover}.forward-target-row span{min-width:0;display:grid;gap:3px}.forward-target-row strong,.forward-target-row small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forward-target-row strong{font-size:12px}.forward-target-row small{color:var(--muted);font-size:9px}.forward-target-check{width:19px;height:19px;border:1px solid #a8bdc5;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:11px}.forward-target-row.selected .forward-target-check{border-color:var(--accent);background:var(--accent)}.forward-message-modal>footer>span{min-width:0;flex:1;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#addPublicUrlPreview{display:block;margin-top:4px;color:var(--accent-strong);font-size:10px;word-break:break-all}
#proxyModal{max-height:none;overflow:hidden;grid-template-rows:auto auto auto}#proxyModal>.modal-content,html[data-window-mode="dialog"] #proxyModal>.modal-content{min-height:0;overflow:visible}

/* A high-contrast one-pixel outline aliases on a translucent native edge.
   Keep the layout slot transparent and let the rounded clip plus shadow define it. */
html[data-window-mode="main"] .main-panel,
html[data-window-mode="chat"] .chat-window{
  border:0!important;
}
html[data-window-mode="chat"] .chat-window{
  box-shadow:none!important;
}

.captcha-image-button{width:94px;height:34px;padding:0;border:1px solid rgba(17,104,146,.28);border-radius:5px;overflow:hidden;background:#eef8fc;flex:0 0 auto;cursor:pointer}
.captcha-image-button img{width:100%;height:100%;display:block;object-fit:cover}
.login-captcha-modal{width:min(380px,calc(100vw - 32px))}
.login-captcha-content{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:end;gap:10px 14px}
.login-captcha-content .form-note{grid-column:1/-1}
.login-captcha-content label{align-self:center;color:var(--muted);font-size:11px}
.login-captcha-content input{width:100%;height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:15px;letter-spacing:2px;outline:0}
.login-captcha-content input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 14%,transparent)}
.login-captcha-image{grid-column:2;grid-row:2/4;width:150px;height:64px;border-radius:9px;background:#fff}
.login-captcha-image:hover{border-color:var(--accent)}
.verification-row{display:flex;align-items:center;gap:7px}
.verification-row>input{min-width:0;flex:1 1 110px}
.verification-row>.secondary-btn{flex:0 0 auto;min-width:104px;height:34px}
.message-link{color:var(--accent-strong);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;overflow-wrap:anywhere}.message-link:hover{filter:brightness(.82)}.message-mention{display:inline;padding:0;border:0;background:transparent;color:var(--accent-strong);font:inherit;font-weight:750;line-height:inherit;text-decoration:none!important;-webkit-text-decoration:none!important;cursor:pointer}.message-mention:hover{filter:brightness(.82)}
.reply-composer-preview{min-height:44px;padding:7px 12px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 72%,#fff);display:flex;align-items:center;justify-content:space-between;gap:10px}.reply-composer-preview>span{min-width:0;display:grid;gap:2px;border-left:3px solid var(--accent);padding-left:9px}.reply-composer-preview strong{font-size:11px;color:var(--accent-strong)}.reply-composer-preview small{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.reply-composer-preview button{border:0;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.composer.is-editing .reply-composer-preview{background:color-mix(in srgb,var(--accent-soft) 86%,#fff)}.message-edited{font-size:8px;color:#91a6ae;white-space:nowrap}.mine .message-edited{color:rgba(255,255,255,.76)}
.message-row.is-selected{background:color-mix(in srgb,var(--accent-soft) 70%,transparent);outline:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:10px}.message-select-toggle{display:none;position:absolute;z-index:4;right:5px;top:50%;transform:translateY(-50%);width:23px;height:23px;padding:0;border:2px solid #9eb4bc;border-radius:50%;background:rgba(255,255,255,.96);color:transparent;place-items:center;font-size:13px;font-weight:800;cursor:pointer;box-shadow:0 1px 5px rgba(22,72,91,.12)}#messageList.selection-mode .message-row{padding-right:36px;cursor:pointer}#messageList.selection-mode .message-select-toggle{display:grid}#messageList.selection-mode .message-row.is-selected .message-select-toggle{border-color:#34b765;background:#34b765;color:#fff}.message-selection-bar{position:fixed;z-index:85;left:50%;bottom:22px;transform:translateX(-50%);width:max-content;max-width:calc(100vw - 20px);box-sizing:border-box;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 12px 34px rgba(7,51,70,.24);display:flex;flex-wrap:nowrap;align-items:center;gap:0}.message-selection-bar strong{flex:0 0 auto;margin-right:10px;color:var(--accent-strong);white-space:nowrap}.message-selection-bar button+button{margin-left:10px}.message-selection-bar button{flex:0 0 auto;min-width:58px;height:32px;padding:0 12px;border:0;border-radius:8px;background:var(--accent-soft);white-space:nowrap;cursor:pointer}.message-selection-bar button.danger{color:#d74452;background:#fff0f2}.delete-for-everyone-row{display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:10px}.delete-for-everyone-row input{width:18px!important;height:18px!important}
.forward-message-modal>footer{gap:0}.forward-message-modal>footer button+button{margin-left:10px}
.non-contact-banner .danger{margin-left:0!important;color:#d74452!important}
.group-create-toolbar{padding:9px 10px 7px;display:grid;grid-template-columns:1fr 1fr;gap:7px;border-bottom:1px solid var(--line);background:rgba(248,253,255,.92)}
.group-create-toolbar button{height:34px;padding:0 9px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:9px;background:#fff;color:var(--accent-strong);font-family:inherit;font-size:11px;font-weight:650;cursor:pointer;box-shadow:0 2px 7px rgba(16,68,88,.06)}
.group-create-toolbar button:hover{border-color:var(--accent);background:var(--accent-soft)}.group-create-toolbar span{margin-right:5px}
.message-reply-quote{width:100%;margin:0 0 6px;padding:4px 7px;border:0;border-left:3px solid var(--accent);border-radius:3px;background:rgba(255,255,255,.42);display:grid;gap:2px;text-align:left;cursor:pointer}.message-reply-quote strong{font-size:10px;color:var(--accent-strong)}.message-reply-quote small{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.message-forwarded{display:block;margin-bottom:5px;color:var(--accent-strong);font-size:9px}
.composer.is-channel-readonly{position:relative;opacity:.78}.composer.is-channel-readonly::after{content:"频道仅管理员可以发布消息";position:absolute;inset:36px 0 0;display:grid;place-items:center;padding:12px;background:rgba(247,252,253,.96);color:var(--accent-strong);font-size:12px;text-align:center;z-index:4}

/* Keep chat metadata as readable as the surrounding client UI. */
.date-separator,.unread-separator,.message-author,.message-forwarded,.message-edited,.message-time,.message-info-line,.message-info-line .message-time,.message-reply-quote strong,.message-reply-quote small,.non-contact-banner-actions button{font-size:12px!important}
.message-info-line{line-height:20px!important}.message-info-line .message-status{font-size:12px!important;line-height:20px!important}.message-forwarded{line-height:1.4}.date-separator{font-weight:500}.non-contact-banner-actions button{font-weight:700}
.message-context-dates{margin:6px -7px -7px;padding:7px 11px 8px;border-top:1px solid var(--line);background:#f5f8f9;display:grid;gap:7px;color:#324d58;font-size:12px}.message-context-dates span{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:7px}.message-context-dates i{color:#728b96;font-size:14px;font-style:normal}.message-context-dates b{font-size:12px;font-weight:500;white-space:nowrap}
.channel-info-section{border-top:1px solid var(--line);background:rgba(255,255,255,.44)}.sidebar-channel-url{width:100%;padding:13px 18px;border:0;background:transparent;display:grid;gap:4px;text-align:left;cursor:pointer}.sidebar-channel-url:hover{background:var(--accent-soft)}.sidebar-channel-url:disabled{cursor:default;opacity:.7}.sidebar-channel-url span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-strong);font-size:13px}.sidebar-channel-url small{color:var(--muted);font-size:12px}.channel-contact-group{margin-top:2px;padding-top:2px;border-top:1px solid color-mix(in srgb,var(--line) 82%,transparent)}

/* Group/channel public profiles use the same readable Telegram-like rhythm. */
.group-profile-modal{width:min(620px,calc(100vw - 32px));overflow:hidden}.group-profile-content{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px}.group-profile-avatar-pane{display:flex;flex-direction:column;align-items:center;gap:0;padding:6px 2px}.group-profile-avatar-pane>img{width:112px;height:112px;margin:0;border:3px solid #fff;border-radius:50%;object-fit:cover;background:var(--accent-soft);box-shadow:0 8px 24px rgba(18,83,108,.18)}.group-profile-avatar-pane>#groupProfileAvatarButton{margin:10px 0 0}.group-profile-avatar-pane>small{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}.group-profile-fields,.group-profile-fields label{min-width:0}.group-profile-fields label,.group-profile-fields input,.group-profile-fields textarea,.group-profile-fields small,.group-profile-fields .form-note{font-size:12px}.group-profile-fields input,.group-profile-fields textarea{display:block;width:100%;max-width:100%;box-sizing:border-box}.group-profile-fields textarea{resize:vertical;min-height:90px}.public-id-input{height:39px;border:1px solid var(--line);border-radius:9px;background:#fff;display:flex;align-items:center;overflow:hidden}.public-id-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.public-id-input>b{padding-left:11px;color:var(--accent-strong);font-size:14px}.public-id-input>input{height:100%;padding-left:3px!important;border:0!important;box-shadow:none!important}.group-public-id-status{display:block;min-height:17px;margin-top:5px;color:var(--muted)}.group-public-id-status.checking{color:#6a8996}.group-public-id-status.available{color:#16995a}.group-public-id-status.invalid,.group-public-id-status.registered,.group-public-id-status.unavailable{color:#d13c4c}.channel-info-section .sidebar-list-action{border-top:1px solid var(--line)}

/* Ordinary informational text follows one client-wide 12px standard. */
.chat-peer p,.sidebar-cover span,.sidebar-info>p,.sidebar-info dl div,.sidebar-last-seen,.sidebar-quick-actions span,.sidebar-username span,.sidebar-media-links span,.sidebar-list-action span,.sidebar-media-links b,.sidebar-channel-url span,.share-contact-target strong,.share-contact-target small,.shared-contact-card strong,.shared-contact-card small{font-size:12px!important}.sidebar-info>p{line-height:1.55}.sidebar-username,.sidebar-channel-url{gap:0}.sidebar-username small,.sidebar-channel-url small{display:none!important}#sidebarShareContactBtn{grid-template-columns:max-content minmax(0,1fr)!important;column-gap:10px!important;gap:10px!important}#sidebarShareContactBtn i{width:auto!important;margin:0!important}#sidebarShareContactBtn span{font-size:12px!important}

/* Internal workbench dividers resize panels without changing the native window. */
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-pane,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-sidebar{position:relative}
.merged-workspace-resize-handle{position:absolute;z-index:31;top:0;bottom:0;width:9px;padding:0;border:0;background:transparent;cursor:col-resize;touch-action:none}.merged-workspace-resize-handle::after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent;transition:background .16s,box-shadow .16s}.merged-workspace-resize-handle:hover::after,.merged-workspace-resize-handle:focus-visible::after,html.workspace-panel-resizing .merged-workspace-resize-handle::after{background:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}#mergedConversationResizeHandle{right:0}#mergedInfoResizeHandle{left:0}html.conversations-collapsed #mergedConversationResizeHandle,html.info-collapsed #mergedInfoResizeHandle,html.info-force-overlay #mergedInfoResizeHandle{display:none!important}html.workspace-panel-resizing .chat-content{transition:none!important;user-select:none}

@media(max-width:680px){.group-profile-content{grid-template-columns:1fr}.group-profile-avatar-pane{padding-bottom:0}}

/* Early-QQ style message manager and final readable message metadata. */
.history-modal{width:min(940px,calc(100vw - 28px));height:min(720px,calc(100vh - 28px));overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}
.history-manager-layout{min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr);background:#eef5f7}
.history-contact-pane{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);border-right:1px solid var(--line);background:#f8fcfd}
.history-contact-search,.history-search{height:38px;margin:12px;box-sizing:border-box;display:grid;grid-template-columns:16px minmax(0,1fr);align-items:center;column-gap:7px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted)}
.history-contact-search>span,.history-search>span{width:16px;height:36px;display:grid;place-items:center;align-self:center;line-height:1;font-size:14px}.history-contact-search input,.history-search input{min-width:0;width:100%;height:36px!important;box-sizing:border-box;padding:0!important;border:0!important;background:transparent!important;outline:0;box-shadow:none!important;font-size:12px!important;line-height:36px!important}
.history-contact-list{min-height:0;overflow:auto;padding:0 6px 8px}
.history-contact-item{width:100%;min-width:0;padding:8px;border:0;border-radius:8px;background:transparent;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;text-align:left;cursor:pointer;color:var(--ink)}
.history-contact-item:hover,.history-contact-item.active{background:var(--accent-soft)}.history-contact-item img{width:42px;height:42px;border-radius:50%;object-fit:cover}.history-contact-item span{min-width:0;display:grid;gap:3px}.history-contact-item strong,.history-contact-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.history-contact-item small,.history-contact-item b{color:var(--muted);font-weight:500}.history-contact-item b{font-size:11px}
.history-record-pane{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#eef5f7}.history-record-pane>header{padding:13px 16px 11px;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:minmax(150px,1fr) minmax(240px,420px);align-items:center;gap:14px}.history-record-pane>header>div{display:grid;gap:3px}.history-record-pane>header strong{font-size:14px}.history-record-pane>header small{font-size:12px;color:var(--muted)}.history-record-pane .history-search{width:100%;margin:0;box-sizing:border-box}
.history-list{min-height:0;overflow:auto;padding:12px 16px;display:grid;align-content:start;gap:8px}.history-item{padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.history-item header{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:12px}.history-item header strong{color:var(--accent-strong);font-size:12px}.history-item p{margin:7px 0 0;line-height:1.55;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere}.history-item .history-edited{margin-left:7px;color:#66818c}.history-pager{min-height:52px;padding:8px 12px;border-top:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}.history-pager span{min-width:104px;text-align:center;color:var(--muted);font-size:12px}.history-pager .history-page-size{min-width:auto;margin-right:4px;white-space:nowrap}.history-pager button{min-width:58px;padding-left:9px;padding-right:9px}.history-pager button:disabled{opacity:.45;cursor:default}
.history-window-actions{display:flex;align-items:center;gap:4px}.history-window-actions button{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;display:grid;place-items:center;font:inherit;font-size:18px;cursor:pointer}.history-window-actions button:hover{background:rgba(255,255,255,.18)}.history-native-window-action{display:none!important}html[data-window-mode="dialog"] #historyModal .history-native-window-action{display:grid!important}html[data-window-mode="dialog"] #historyModal>header{cursor:default}html[data-window-mode="dialog"] #historyModal .history-manager-layout{min-height:0}html[data-window-mode="dialog"] #historyModal .history-record-pane{min-height:0}
.message-info-line{gap:0!important}.message-info-line>*+*{margin-left:3px!important}.message-info-line .message-edited{color:#667f89!important}.mine .message-info-line .message-edited{color:#4f9143!important}.message-info-line .message-edited+.message-time{margin-left:5px!important}
@media(max-width:720px){.history-manager-layout{grid-template-columns:190px minmax(0,1fr)}.history-record-pane>header{grid-template-columns:1fr}.history-contact-item{grid-template-columns:36px minmax(0,1fr)}.history-contact-item img{width:36px;height:36px}.history-contact-item b{display:none}}

/* The native workbench window is resizable; its three side panels are fixed. */
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-window{--folder-expanded-width:72px;--conversation-expanded-width:240px;--info-expanded-width:238px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-content{width:100%;min-width:0;box-sizing:border-box;overflow:hidden;grid-template-columns:var(--folder-width) var(--conversation-width) minmax(0,1fr) var(--info-width)}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{grid-column:1;width:72px;min-width:72px;max-width:72px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-list{width:72px;min-width:72px;max-width:72px;box-sizing:border-box}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-pane{grid-column:2;width:240px;min-width:240px;max-width:240px}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list{width:240px;min-width:240px;max-width:240px;box-sizing:border-box}
html[data-window-mode="chat"][data-chat-layout="merged"] .conversation-column{grid-column:3!important;width:auto;min-width:0;max-width:none}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-sidebar{grid-column:4;width:238px!important;min-width:238px!important;max-width:238px!important}
html[data-window-mode="chat"][data-chat-layout="merged"].folders-collapsed .merged-folder-rail{display:none!important;visibility:hidden!important}
.merged-workspace-resize-handle,.merged-folder-resize-handle{display:none!important}

/* Public group/channel preview and join gate. */
.message-forwarded{display:block;margin:0 0 5px;padding:0;border:0;background:transparent;color:var(--accent-strong);font:inherit;font-size:12px!important;line-height:1.4;text-align:left;cursor:pointer}
.message-forwarded:hover{text-decoration:underline}
.composer.is-group-preview{grid-template-rows:1fr}
.conversation-column.has-group-preview{grid-template-rows:auto auto minmax(0,1fr) 78px!important}
.composer.is-group-preview>.compose-toolbar,.composer.is-group-preview>.composer-editor,.composer.is-group-preview>.composer-footer,.composer.is-group-preview>.reply-composer-preview{display:none!important}
.group-join-prompt{min-height:100%;padding:18px 22px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:18px;background:rgba(247,252,253,.98)}
.group-join-prompt>span{min-width:0;display:grid;gap:5px}.group-join-prompt strong,.group-join-prompt small{font-size:12px}.group-join-prompt small{color:var(--muted)}.group-join-prompt button{flex:0 0 auto;min-width:106px}

/* Keep the description field border complete and separated from its label. */
.group-profile-fields>label{display:grid;gap:6px}
.group-profile-fields textarea{position:relative;margin:0!important;padding:10px!important;box-sizing:border-box;border:1px solid var(--line)!important;border-top:1px solid var(--line)!important;border-radius:9px;background:#fff}

/* All four pagination buttons have a measured 10px gap. */
.history-pager{gap:10px!important}.history-pager .history-page-size{margin:0!important}.history-pager-buttons{min-width:0!important;display:flex;align-items:center;gap:0}.history-pager-buttons button+button{margin-left:10px!important}

/* r13: deterministic responsive workbench, six persisted wallpapers and date navigation. */
html[data-window-mode="chat"][data-chat-layout="merged"] .conversation-column{min-width:380px}
.message-list{background-color:#dff1d5!important;background-image:var(--chat-message-wallpaper)!important;background-repeat:repeat!important;background-size:240px 240px!important;background-attachment:scroll!important;backface-visibility:hidden}
html[data-chat-background="telegram"]{--chat-message-wallpaper:url("assets/chat-backgrounds/telegram.svg")}
html[data-chat-background="sky"]{--chat-message-wallpaper:url("assets/chat-backgrounds/sky.svg")}
html[data-chat-background="mint"]{--chat-message-wallpaper:url("assets/chat-backgrounds/mint.svg")}
html[data-chat-background="peach"]{--chat-message-wallpaper:url("assets/chat-backgrounds/peach.svg")}
html[data-chat-background="lavender"]{--chat-message-wallpaper:url("assets/chat-backgrounds/lavender.svg")}
html[data-chat-background="night"]{--chat-message-wallpaper:url("assets/chat-backgrounds/night.svg")}
html[data-chat-background="night"] .message-list{background-color:#1f384d!important}

/* r27: proxy list, Telegram-like pinned browser and fixed contact sidebar geometry */
.proxy-profile-list{max-height:180px;overflow:auto;display:grid;gap:6px}.proxy-profile-item{width:100%;min-height:54px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;cursor:pointer}.proxy-profile-item.active{border-color:var(--accent);background:var(--accent-soft)}.proxy-profile-item span{min-width:0;display:grid;gap:3px}.proxy-profile-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.proxy-profile-item small,.proxy-list-empty{color:var(--muted);font-size:11px}.proxy-profile-item i{flex:none;color:#d84554;font-size:11px;font-style:normal}.proxy-list-empty{margin:0;padding:10px;text-align:center}
.pinned-messages-modal{width:min(720px,calc(100vw - 32px))!important;max-height:min(640px,calc(100vh - 40px))!important}.pinned-chat-layout{min-height:330px;display:grid;grid-template-columns:minmax(0,1fr) 190px;overflow:hidden;background:var(--chat-conversation)}.pinned-messages-list{min-height:0!important;max-height:none!important;padding:18px!important;display:flex!important;flex-direction:column;align-items:flex-start;gap:10px!important;overflow:auto!important;background-color:#dff1d5;background-image:var(--chat-message-wallpaper);background-repeat:repeat;background-size:240px 240px}.pinned-list-item{width:auto!important;max-width:78%;min-height:0!important;padding:9px 12px!important;border:1px solid var(--line)!important;border-radius:5px 14px 14px 14px!important;background:#fff!important;display:flex!important;gap:8px!important;box-shadow:0 3px 8px rgba(27,94,119,.1)}.pinned-list-item.mine{align-self:flex-end;border-radius:14px 5px 14px 14px!important;background:#daf4c3!important}.pinned-list-item>i{display:none!important}.pinned-list-item>span{display:grid!important;grid-template-columns:minmax(80px,1fr) auto!important}.pinned-list-item>b{align-self:end}.pinned-media-sidebar{overflow:auto;border-left:1px solid var(--line);background:rgba(255,255,255,.9)}.pinned-media-sidebar>strong{display:block;padding:18px;font-size:14px}.pinned-media-sidebar button{width:100%;min-height:46px;padding:8px 14px;border:0;border-top:1px solid var(--line);background:transparent;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.pinned-media-sidebar button:hover{background:var(--accent-soft)}.pinned-media-sidebar i{font-style:normal;color:var(--accent-strong)}.pinned-media-sidebar span,.pinned-media-sidebar b{font-size:12px}.pinned-media-sidebar b{color:var(--muted);font-weight:500}
#sidebarAvatar{width:86px!important;height:86px!important;border-radius:50%!important}.sidebar-cover{min-height:112px!important}.sidebar-info #sidebarDetails{display:none!important}#sidebarShareContactBtn,#sidebarEditContactBtn{grid-template-columns:26px minmax(0,1fr)!important;gap:10px!important;padding-left:18px!important}#sidebarShareContactBtn i,#sidebarEditContactBtn i{width:26px!important;text-align:center!important}
@media(max-width:620px){.pinned-chat-layout{grid-template-columns:1fr}.pinned-media-sidebar{display:none}}
.chat-background-setting{padding:11px 4px 13px;border-bottom:1px solid var(--line)}
.chat-background-setting>span{margin-bottom:10px}
.chat-background-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.chat-background-choices button{min-width:0;padding:4px;border:2px solid transparent;border-radius:10px;background:transparent;color:var(--ink);cursor:pointer}
.chat-background-choices button.active{border-color:var(--accent);background:var(--accent-soft)}
.chat-background-choices i{display:block;height:50px;border:1px solid rgba(40,95,115,.14);border-radius:7px;background-position:center;background-size:120px 120px}
.chat-background-choices b{display:block;margin-top:4px;font-size:11px;font-weight:600}
.chat-background-choices [data-chat-background="telegram"] i{background-image:url("assets/chat-backgrounds/telegram.svg")}
.chat-background-choices [data-chat-background="sky"] i{background-image:url("assets/chat-backgrounds/sky.svg")}
.chat-background-choices [data-chat-background="mint"] i{background-image:url("assets/chat-backgrounds/mint.svg")}
.chat-background-choices [data-chat-background="peach"] i{background-image:url("assets/chat-backgrounds/peach.svg")}
.chat-background-choices [data-chat-background="lavender"] i{background-image:url("assets/chat-backgrounds/lavender.svg")}
.chat-background-choices [data-chat-background="night"] i{background-image:url("assets/chat-backgrounds/night.svg")}
.date-separator{display:block;width:max-content;max-width:100%;margin:6px auto 16px!important;padding:5px 13px;border:0;border-radius:15px;background:rgba(73,112,92,.55);color:#fff!important;box-shadow:0 2px 7px rgba(30,70,55,.12);line-height:18px;cursor:pointer;transition:transform .15s ease,background .15s ease}
.date-separator:hover{background:rgba(45,131,105,.72);transform:translateY(-1px)}
.date-separator.date-jump-highlight{animation:date-jump-pulse .75s ease 2}
@keyframes date-jump-pulse{50%{box-shadow:0 0 0 6px rgba(38,166,130,.24)}}
.message-date-modal{width:min(430px,calc(100vw - 24px));overflow:hidden}
.message-date-modal>header{position:relative;display:grid;grid-template-columns:42px 1fr 42px;padding:13px 15px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.message-date-modal>header h2{text-align:center;font-size:16px;line-height:34px}
.message-date-modal>header button{height:34px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}
.message-date-modal>header button:hover{background:var(--accent-soft);color:var(--accent-strong)}
.message-date-modal>.modal-content{padding:14px 18px 10px!important;overflow:hidden!important}
.message-date-weekdays,.message-date-calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.message-date-weekdays{margin-bottom:7px;color:var(--muted);font-size:11px;text-align:center}
.message-date-calendar button{position:relative;height:40px;border:0;border-radius:50%;background:transparent;color:var(--ink);font-size:12px;cursor:pointer}
.message-date-calendar button:hover{background:var(--accent-soft)}
.message-date-calendar button.outside{color:#b7c4c9}
.message-date-calendar button.has-messages{font-weight:700}
.message-date-calendar button.selected{background:var(--accent);color:#fff}
.message-date-calendar button i{position:absolute;left:50%;bottom:3px;width:4px;height:4px;border-radius:50%;background:var(--accent);transform:translateX(-50%)}
.message-date-calendar button.selected i{background:#fff}
.message-date-modal>footer{align-items:center}
.message-date-modal>footer #messageDateStatus{margin-right:auto;color:var(--muted);font-size:11px}
html[data-window-mode="dialog"] #appSettingsModal{width:min(560px,calc(100vw - 20px));max-height:calc(100vh - 16px)}

/* Telegram-style Emoji and public-account quick replies. */
.compose-toolbar #quickReplyBtn{margin-left:auto!important;padding:0 8px;font-size:12px;font-weight:700}
.compose-toolbar #historyBtn{margin-left:0!important}
.emoji-popover{box-sizing:border-box!important;width:380px!important;height:420px!important;max-width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important;padding:0!important;display:block!important;overflow:hidden!important;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line))!important;border-radius:16px!important;background:rgba(248,253,255,.98)!important;box-shadow:0 18px 48px rgba(20,70,92,.3)!important;opacity:1;transform:translateY(0) scale(1);transform-origin:left bottom;transition:opacity .18s ease,transform .18s ease}
.emoji-popover.is-hidden{display:none!important}
.emoji-popover.is-closing{opacity:0;transform:translateY(7px) scale(.985);pointer-events:none}
.emoji-manager{height:100%;min-height:0;display:grid;grid-template-rows:47px minmax(0,1fr) 44px;color:var(--ink);font-size:12px}
.emoji-manager>header{padding:7px 8px 0;display:flex;align-items:end;gap:5px;border-bottom:1px solid var(--line);background:#fff}
.emoji-manager>header button{width:auto!important;min-width:0!important;height:39px!important;padding:0 13px!important;border:0;border-radius:10px 10px 0 0!important;background:transparent!important;color:var(--muted);font-size:12px!important;font-weight:600;cursor:pointer}
.emoji-manager>header button.active{background:var(--accent-soft)!important;color:var(--accent-strong);box-shadow:inset 0 -2px var(--accent)}
.emoji-manager>header #closeEmojiPanelBtn{margin-left:auto!important;width:34px!important;padding:0!important;border-radius:9px!important;font-size:20px!important}
.emoji-manager-body{min-height:0;overflow:auto;padding:10px;background:linear-gradient(180deg,#f9fdff,#f1f9fc)}
.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px;align-content:start}
.emoji-grid button{width:100%!important;height:38px!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;font-size:24px!important;line-height:38px;cursor:pointer;transition:background .12s ease,transform .12s ease}
.emoji-grid button:hover{background:var(--accent-soft)!important;transform:scale(1.12)}
.emoji-empty{grid-column:1/-1;min-height:190px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--muted);text-align:center;font-size:12px}
.emoji-empty small{font-size:11px}
.emoji-manager>footer{padding:5px 8px;display:flex;align-items:center;gap:5px;border-top:1px solid var(--line);background:#fff}
.emoji-manager>footer button{width:36px!important;height:34px!important;padding:0!important;border:0!important;border-radius:9px!important;background:transparent!important;color:var(--muted);font-size:18px!important;cursor:pointer}
.emoji-manager>footer button:hover,.emoji-manager>footer button.active{background:var(--accent-soft)!important;color:var(--accent-strong)}
.emoji-manager>footer #emojiPanelStatus{padding:0 5px;color:var(--muted);font-size:11px}
.custom-emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;align-content:start}
.custom-emoji-tile,.custom-emoji-upload{position:relative;box-sizing:border-box;width:100%!important;aspect-ratio:1;height:auto!important;min-height:48px;padding:5px!important;border:1px solid transparent!important;border-radius:12px!important;background:#fff!important;display:grid;place-items:center;cursor:pointer}
.custom-emoji-tile:hover,.custom-emoji-upload:hover{border-color:var(--accent)!important;background:var(--accent-soft)!important}
.custom-emoji-tile img{width:100%;height:100%;max-height:48px;object-fit:contain}
.custom-emoji-remove{position:absolute;right:-4px;top:-4px;width:19px;height:19px;border-radius:50%;display:none;place-items:center;background:#e84d5b;color:#fff;font-size:14px;line-height:19px;box-shadow:0 2px 7px rgba(80,20,28,.25)}
.custom-emoji-tile:hover .custom-emoji-remove{display:grid}
.custom-emoji-upload{color:var(--accent-strong)}
.custom-emoji-upload b{font-size:24px;line-height:20px}.custom-emoji-upload span{font-size:10px}
.inline-custom-emoji{display:inline-block!important;width:30px!important;height:30px!important;max-width:30px!important;max-height:30px!important;margin:0 2px!important;border-radius:6px!important;object-fit:contain!important;vertical-align:-9px}

.quick-reply-suggestions{position:absolute;z-index:30;left:10px;right:10px;bottom:calc(100% + 8px);max-height:min(330px,52vh);overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:13px;background:rgba(255,255,255,.98);box-shadow:0 14px 38px rgba(18,72,94,.24)}
.quick-reply-suggestions.is-hidden{display:none}
.quick-reply-suggestions>header{position:sticky;z-index:1;top:0;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#f6fbfd;color:var(--accent-strong);font-size:12px;font-weight:700}
.quick-reply-suggestions>header small{color:var(--muted);font-size:10px;font-weight:400}
.quick-reply-suggestion{box-sizing:border-box;width:100%;min-height:52px;padding:7px 12px;border:0;border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);background:transparent;display:grid;grid-template-columns:128px minmax(0,1fr);align-items:center;gap:10px;color:var(--ink);text-align:left;cursor:pointer}
.quick-reply-suggestion:hover,.quick-reply-suggestion.active{background:var(--accent-soft)}
.quick-reply-suggestion strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent-strong);font-size:12px}
.quick-reply-suggestion span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.quick-reply-suggestion-empty{width:100%;min-height:58px;border:0;background:#fff;color:var(--muted);font-size:12px;cursor:pointer}

.quick-reply-modal{width:min(720px,calc(100vw - 28px));height:min(690px,calc(100vh - 28px));overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.quick-reply-modal>.modal-content{min-height:0;overflow:auto!important;padding:14px 18px!important;display:grid;grid-template-rows:auto auto minmax(180px,1fr);align-content:start;gap:12px}
.quick-reply-intro{margin:0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--muted);font-size:12px;line-height:1.5}
.quick-reply-form{padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px}
.quick-reply-form label{min-width:0;display:grid;align-content:start;gap:6px;color:var(--muted);font-size:12px}
.quick-reply-form input,.quick-reply-form textarea{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:9px;background:#fbfeff;color:var(--ink);font-size:12px;outline:none}
.quick-reply-form input{height:38px;padding:7px 10px}.quick-reply-form textarea{min-height:86px;padding:9px 10px;resize:vertical}
.quick-reply-form input:focus,.quick-reply-form textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.quick-reply-shortcut-input{height:38px;border:1px solid var(--line);border-radius:9px;background:#fbfeff;display:flex;align-items:center;overflow:hidden}
.quick-reply-shortcut-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}
.quick-reply-shortcut-input b{padding-left:10px;color:var(--accent-strong);font-size:14px}.quick-reply-shortcut-input input{height:100%;padding-left:3px;border:0;box-shadow:none!important}
.quick-reply-form>div{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}
.quick-reply-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:6px}
.quick-reply-row{min-width:0;min-height:62px;padding:5px 7px;border:1px solid var(--line);border-radius:11px;background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;transition:border-color .12s ease,transform .12s ease}
.quick-reply-row.dragging{opacity:.55}.quick-reply-row.drag-over{border-color:var(--accent);transform:translateY(2px)}
.quick-reply-drag{height:42px;border:0;background:transparent;color:#9aadb4;font-size:16px;cursor:grab}.quick-reply-drag:active{cursor:grabbing}
.quick-reply-copy{min-width:0;border:0;background:transparent;display:grid;grid-template-columns:130px minmax(0,1fr) auto;align-items:center;gap:10px;color:var(--ink);text-align:left;cursor:pointer}
.quick-reply-copy strong,.quick-reply-copy small,.quick-reply-copy em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.quick-reply-copy strong{color:var(--accent-strong)}.quick-reply-copy small{color:var(--ink)}.quick-reply-copy em{color:var(--muted);font-size:10px;font-style:normal}
.quick-reply-order{display:flex;align-items:center;gap:5px}.quick-reply-order button{width:30px;height:30px;padding:0;border:1px solid var(--line);border-radius:8px;background:#f8fcfd;color:var(--muted);font-size:14px;cursor:pointer}.quick-reply-order button:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.quick-reply-order button:disabled{opacity:.35;cursor:default}.quick-reply-order button.danger{color:#d64250}
.quick-reply-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:7px;color:var(--muted);text-align:center}.quick-reply-empty b{font-size:34px}.quick-reply-empty strong{color:var(--ink);font-size:13px}.quick-reply-empty span{font-size:12px}
.quick-reply-modal>footer #quickReplyStatus{margin-right:auto;color:var(--muted);font-size:11px}
@media(max-width:620px){.emoji-popover{width:calc(100vw - 20px)!important}.emoji-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.quick-reply-form{grid-template-columns:1fr}.quick-reply-copy{grid-template-columns:1fr}.quick-reply-copy em{display:none}}

/* r17: keep the standard 12px text scale and measure real 10px sibling gaps in QtWebEngine. */
.quick-reply-modal,.quick-reply-modal button,.quick-reply-modal input,.quick-reply-modal textarea,.quick-reply-modal label,.quick-reply-modal small,.quick-reply-modal em{font-size:12px!important;line-height:1.45}
.quick-reply-form>div{gap:0!important}
.quick-reply-form>div>button+button{margin-left:10px!important}
.quick-reply-order{gap:0!important}
.quick-reply-order>button{box-sizing:border-box;width:34px!important;height:32px!important;font-size:12px!important}
.quick-reply-order>button+button{margin-left:10px!important}
.quick-reply-order>button.danger{width:auto!important;min-width:46px!important;padding:0 8px!important}
.quick-reply-modal>footer #quickReplyStatus{font-size:12px!important}

.emoji-manager>footer{gap:0!important}
.emoji-manager>footer>button+button{margin-left:10px!important}

.quick-reply-suggestions{max-height:min(260px,44vh);opacity:1;transform:translateY(0);transform-origin:bottom;transition:opacity .18s ease,transform .18s ease}
.quick-reply-suggestions.is-closing{opacity:0;transform:translateY(6px);pointer-events:none}
.quick-reply-suggestions>header{padding:6px 10px;font-size:12px}
.quick-reply-suggestions>header small{font-size:12px}
.quick-reply-suggestion{min-height:38px;padding:4px 10px;grid-template-columns:110px minmax(0,1fr);gap:10px}
.quick-reply-suggestion-empty{min-height:42px;padding:6px 10px;font-size:12px}

.shared-media-modal,.shared-media-modal button,.shared-media-modal strong,.shared-media-modal small,.shared-media-modal em,.shared-media-modal span,.shared-media-modal b{font-size:12px!important;line-height:1.45}
.modal.shared-media-modal{grid-template-rows:72px 50px minmax(0,1fr) 56px!important}
.modal.shared-media-modal>header{min-height:72px;padding:12px 18px}
.modal.shared-media-modal>.shared-media-tabs{box-sizing:border-box;min-height:50px;padding:8px 14px;align-items:center}
.modal.shared-media-modal>.shared-media-tabs button{box-sizing:border-box;height:34px;min-height:34px;padding:0 10px}
.modal.shared-media-modal>.shared-media-list{min-height:0!important;padding:16px!important;overflow:auto!important}
.modal.shared-media-modal>footer{box-sizing:border-box;min-height:56px;padding:10px 18px;align-items:center}
.modal.shared-media-modal>footer .primary-btn{box-sizing:border-box;height:34px;min-height:34px;padding:0 16px}

.history-modal{height:min(800px,calc(100vh - 20px))}
html[data-window-mode="dialog"][data-dialog-id="historyModal"] .native-resize-handles{display:block!important}
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"] .native-resize-handles{display:block!important}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .native-resize-handles{display:block!important}

html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"],
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] body,
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] #app{border-radius:0!important;clip-path:none!important}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] #modalBackdrop{align-items:stretch;justify-content:stretch;padding:0;overflow:visible;border-radius:0}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .workspace-folder-manager-modal{box-sizing:border-box;left:var(--main-shadow-gutter);right:var(--main-shadow-gutter);top:var(--main-shadow-gutter);bottom:var(--main-shadow-gutter);width:auto;height:auto;max-width:none;max-height:none;overflow:hidden;border:1px solid var(--main-border)!important;border-radius:var(--main-radius)!important;background:var(--main-panel);box-shadow:var(--main-shadow)!important;transform:translateZ(0)!important}

/* r31: compact public folders, centered operation notices and proxy tabs. */
.toast-region{right:auto!important;bottom:auto!important;display:grid;justify-items:center;transform:translate(-50%,-50%);pointer-events:none}.toast{text-align:center;animation:toast-r31-in .25s ease!important}@keyframes toast-r31-in{from{opacity:0;transform:translateY(-8px)}}
.login-hint{display:none!important}
.toast-region.login-toast-region{left:auto!important;top:auto!important;right:18px!important;bottom:18px!important;transform:none!important;justify-items:end!important}
.toast-region.login-toast-region .toast{text-align:left;animation:login-toast-rise .24s ease-out!important}
@keyframes login-toast-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* r93: proxy state stays in the footer as an icon-only status control. */
.bottom-toolbar{position:relative}
.bottom-toolbar .proxy-status-btn{box-sizing:border-box;width:30px!important;min-width:30px!important;height:30px!important;margin-left:6px;padding:0!important;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line))!important;background:color-mix(in srgb,var(--accent) 11%,#fff)!important;color:var(--accent-strong)!important;display:grid!important;place-items:center}
.bottom-toolbar .proxy-status-btn.is-hidden{display:none!important}
.bottom-toolbar .proxy-status-btn i{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#fff;font:700 11px/1 sans-serif}
.proxy-device-popover{position:absolute;z-index:30;right:8px;bottom:44px;width:286px;padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);box-shadow:0 16px 42px rgba(5,48,68,.25)}
.proxy-device-popover.is-hidden{display:none!important}
.proxy-device-popover>header{display:flex;align-items:center;justify-content:space-between;padding-bottom:9px;border-bottom:1px solid var(--line)}
.proxy-device-popover>header strong{font-size:13px}.proxy-device-popover>header button{width:26px;height:26px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.proxy-device-popover>header button:hover{background:var(--accent-soft);color:var(--accent-strong)}
.proxy-device-popover dl{margin:10px 0;display:grid;gap:8px}.proxy-device-popover dl div{display:grid;grid-template-columns:66px minmax(0,1fr);align-items:start;gap:8px;font-size:12px}.proxy-device-popover dt{color:var(--muted)}.proxy-device-popover dd{margin:0;overflow-wrap:anywhere;text-align:right;color:var(--ink)}
.proxy-device-popover>small{display:block;color:var(--muted);font-size:11px;line-height:1.45;text-align:right}

html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-modal{width:calc(100vw - 8px);height:calc(100vh - 8px);max-height:none;grid-template-rows:58px minmax(0,1fr) 44px}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-modal>header{min-height:58px;padding:6px 16px}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-modal>.modal-content{padding:6px 14px!important;grid-template-rows:auto auto minmax(272px,1fr);gap:5px;overflow:hidden!important}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-intro{padding:5px 9px;line-height:1.35}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-form{grid-template-columns:180px minmax(0,1fr) auto;align-items:end;padding:6px;gap:5px}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-form label{gap:4px}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-form textarea{height:38px;min-height:38px;resize:none}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-form>div{grid-column:auto;align-self:end}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-list{gap:4px;overflow:auto}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-row{min-height:42px;padding:2px 7px}
html[data-window-mode="dialog"][data-dialog-id="quickReplyModal"] .quick-reply-modal>footer{min-height:44px;padding:5px 16px}
.sidebar-proxy-network{box-sizing:border-box;min-width:0;margin:6px 0 0!important;padding:5px 0;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:7px;background:color-mix(in srgb,var(--accent) 8%,#fff);color:var(--accent-strong);display:block;font-size:11px;line-height:1.35}
.sidebar-proxy-network.is-hidden{display:none!important}.sidebar-proxy-network span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-system-notice,.pinned-message-bar:not(.is-hidden)+.chat-system-notice{left:50%;top:68%;transform:translate(-50%,-50%)}
.main-folder-tabs-shell{min-width:0;display:flex;align-items:center;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,#fff)}
.main-folder-tabs-shell .list-primary-tabs{min-width:0;flex:1;display:flex;overflow-x:auto;scrollbar-width:none;padding:5px 3px 4px;border:0;background:transparent}.main-folder-tabs-shell .list-primary-tabs::-webkit-scrollbar{display:none}.main-folder-tabs-shell .list-primary-tabs button{flex:0 0 auto;min-width:42px;height:31px;padding:0 8px;border-radius:0;font-size:13px;font-weight:700}.main-folder-tabs-arrow{width:20px;height:31px;flex:none;padding:0;border:0;background:transparent;color:var(--accent-strong);font-size:20px;line-height:1;cursor:pointer}.main-folder-tabs-arrow:hover{background:var(--accent-soft)}
.main-folder-tabs-shell .list-primary-tabs button.active{border-color:transparent!important;background:#2a9bd8!important;color:#fff!important;box-shadow:none!important}
.workspace-folder-manager-modal>footer.workspace-folder-manager-actions{gap:0!important}.workspace-folder-manager-modal>footer.workspace-folder-manager-actions>button+button{margin-left:10px!important}
.archive-unarchive-btn{position:relative;z-index:2;flex:none;height:27px;padding:0 8px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:7px;background:#fff;color:var(--accent-strong);font-size:11px;white-space:nowrap;cursor:pointer}.archive-unarchive-btn:hover{background:var(--accent-soft)}
#proxyModal{max-height:none;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto}#proxyModal>.modal-content,html[data-window-mode="dialog"] #proxyModal>.modal-content{min-height:0;overflow:hidden}.proxy-modal-content{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 18px!important}.proxy-mode-tabs{flex:none}.proxy-mode-tabs button,.proxy-tab-pane label,.proxy-tab-pane input,.proxy-tab-pane select,.proxy-profile-item strong,.proxy-profile-item small,.proxy-list-empty,#proxyFooterNote{font-size:12px!important}.proxy-tab-pane{min-height:0}.proxy-tab-pane.form-stack{align-content:start}.proxy-add-new{width:100%;margin-top:10px}.proxy-profile-list{max-height:calc(100vh - 270px)!important;overflow:auto}.workspace-folder-manager-row>span:last-child{gap:0!important}.workspace-folder-manager-row>span:last-child button+button{margin-left:10px!important}

/* r97: Telegram-style proxy modes and explicit login-failure recovery. */
.proxy-modal-content{grid-template-rows:auto auto minmax(0,1fr)!important}
.proxy-fault-banner{display:grid;gap:4px;padding:10px 12px;border:1px solid #ef9aa3;border-radius:9px;background:#fff0f2;color:#9f4651}
.proxy-fault-banner.is-hidden{display:none!important}.proxy-fault-banner strong{font-size:12px;color:#d9384b}.proxy-fault-banner span{font-size:12px;line-height:1.45}
.proxy-profile-list{display:grid;gap:6px}.proxy-profile-item{position:relative;display:grid!important;grid-template-columns:22px minmax(0,1fr) auto auto!important;gap:10px!important;align-items:center!important;text-align:left!important}
.proxy-profile-item>span{min-width:0}.proxy-profile-item>span strong,.proxy-profile-item>span small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.proxy-profile-item>i{font-style:normal;color:var(--muted)}.proxy-profile-item>i[data-edit-proxy]{font-size:20px;line-height:1}.proxy-profile-item>i[data-delete-proxy]{color:#d64250}
.proxy-radio{box-sizing:border-box;width:18px;height:18px;border:2px solid #9eb2bb;border-radius:50%;background:#fff}
.proxy-profile-item.active .proxy-radio{border:5px solid var(--accent)}
.proxy-mode-item{min-height:50px}.proxy-mode-item>span small{margin-top:2px}.proxy-list-help{margin:2px 0 4px;padding:9px 10px;border-radius:7px;background:#eef2f4;color:var(--muted);font-size:12px;line-height:1.45}

/* r34: clear archive glyphs and source-navigation return action. */
.archive-icon,.archive-folder-icon{display:inline-grid;place-items:center;width:22px;height:22px}.archive-icon svg,.archive-folder-icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.merged-folder-button .archive-folder-icon{width:21px;height:21px}
.chat-source-back{width:34px;height:34px;flex:none;padding:0;border:0;border-radius:50%;display:grid;place-items:center;background:transparent;color:var(--accent-strong);cursor:pointer}.chat-source-back:hover{background:var(--accent-soft)}.chat-source-back svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}

/* r38: source navigation and peer identity are anchored to the chat pane. */
.chat-header-context{min-width:0;display:flex;align-items:center;gap:10px}
.chat-header-context .chat-peer{min-width:0}
.chat-header-context+.chat-actions{flex:none;margin-left:10px}
.chat-peer>#chatPeerDot{display:none!important}
html.no-flex-gap .chat-header-context{gap:0}html.no-flex-gap .chat-header-context>.chat-peer{margin-left:0}html.no-flex-gap .chat-header-context>.chat-source-back:not(.is-hidden)+.chat-peer{margin-left:10px}
html.no-flex-gap .chat-header-context+.chat-actions{margin-left:10px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header{position:relative;display:grid;grid-template-columns:var(--folder-width) var(--conversation-width) minmax(380px,1fr) var(--info-width);padding:10px 17px 10px 0}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header-context{grid-column:3;justify-self:stretch;justify-content:flex-start;position:relative;margin:0;padding:0 178px 0 12px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header-context .chat-source-back{position:absolute;left:8px;top:50%;transform:translateY(-50%)}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header-context .chat-source-back:not(.is-hidden)+.chat-peer{margin-left:44px}
html[data-window-mode="chat"] .chat-actions,html[data-window-mode="chat"] .workspace-layout-actions,html[data-window-mode="chat"] .chat-window-actions{display:flex;align-items:center;gap:10px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-header-context+.chat-actions{position:static;margin:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .workspace-layout-actions{position:absolute;right:calc(var(--info-width) + 10px);top:50%;z-index:4;transform:translateY(-50%)}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-window-actions{position:absolute;right:10px;top:50%;z-index:4;transform:translateY(-50%)}
html[data-window-mode="chat"] .chat-actions .workspace-layout-action{background:#8798a2;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
html[data-window-mode="chat"] .chat-actions .workspace-layout-action:hover,html[data-window-mode="chat"] .chat-actions .workspace-layout-action.panel-collapsed{background:#6f838e;color:#fff}

.avatar-grid{display:block!important;overflow:visible}.avatar-picker-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-bottom:10px;padding:3px;border-radius:10px;background:#e8f2f6}.avatar-picker-tabs button{height:31px;padding:0 7px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:12px;font-weight:700;cursor:pointer}.avatar-picker-tabs button.active{background:#2a9bd8;color:#fff;box-shadow:0 2px 7px rgba(29,124,171,.2)}.avatar-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.register-avatar-choices{display:block!important;max-height:none;overflow:visible;padding-right:0}.register-avatar-choices .avatar-picker-tabs{gap:3px;margin-bottom:7px;padding:2px}.register-avatar-choices .avatar-picker-tabs button{height:31px;padding:0 7px;font-size:12px}.register-avatar-choices .avatar-picker-grid{grid-template-columns:repeat(5,minmax(52px,1fr));gap:8px}

/* Category-manager children remain compact popups and return to the manager. */
html.folder-manager-child-open .workspace-folder-manager-modal{pointer-events:none;filter:saturate(.8) brightness(.92)}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .app-dialog-modal:not(.is-hidden),
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .folder-add-modal:not(.is-hidden){z-index:54;left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%)!important;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);border:1px solid var(--main-border)!important;border-radius:14px!important;background:#f7fdff;box-shadow:0 24px 70px rgba(4,43,62,.36)!important;animation:modal-in .18s ease!important}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .app-dialog-modal:not(.is-hidden){width:min(440px,calc(100vw - 48px));height:auto;grid-template-rows:auto auto auto}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .app-dialog-modal>.modal-content{min-height:0;padding:20px;overflow:visible;align-content:start}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .folder-add-modal:not(.is-hidden){width:min(620px,calc(100vw - 48px));height:min(650px,calc(100vh - 48px));grid-template-rows:auto minmax(0,1fr) auto}
html[data-window-mode="dialog"][data-dialog-id="workspaceFolderManagerModal"] .folder-add-modal>.modal-content{min-height:0;overflow:auto}

/* r39: the native controls live in a 25px title row; peer identity and the
   four workbench layout controls live in a separate 55px white toolbar. */
html[data-window-mode="chat"] .chat-window{grid-template-rows:80px minmax(0,1fr)}
html[data-window-mode="chat"] .chat-header{position:relative!important;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:25px 55px!important;align-items:stretch!important;padding:0!important;overflow:visible;background:transparent!important}
html[data-window-mode="chat"] .chat-native-titlebar{position:relative;z-index:7;grid-row:1;height:25px;min-width:0;background:#2a9bd8;background:linear-gradient(180deg,#62c9ee,var(--accent,#2a9bd8));-webkit-app-region:drag}
html[data-window-mode="chat"] .chat-native-titlebar .chat-window-actions{position:absolute!important;right:0!important;top:0!important;height:25px!important;transform:none!important;display:flex;align-items:center;gap:3px!important;-webkit-app-region:no-drag}
html[data-window-mode="chat"] .chat-native-titlebar .chat-window-actions>button{width:25px!important;height:25px!important;min-width:25px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:rgba(32,67,82,.82)!important;box-shadow:none!important;font-size:13px!important;line-height:25px!important}
html[data-window-mode="chat"] .chat-native-titlebar .chat-window-actions>button:hover{background:rgba(255,255,255,.28)!important;color:#203b48!important}
html[data-window-mode="chat"] .chat-native-titlebar #closeChatBtn{width:44px!important;min-width:44px!important;margin-right:0!important}
html[data-window-mode="chat"] .chat-native-titlebar #closeChatBtn:hover{background:#e44a52!important;color:#fff!important}
html[data-window-mode="chat"] .chat-peer-toolbar{grid-row:2;min-width:0;height:55px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 12px;background:#fff;border-bottom:1px solid var(--line);box-sizing:border-box}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-header-context{min-width:0;margin:0!important;padding:0!important;display:flex;align-items:center;gap:10px;position:relative!important;grid-column:auto!important;justify-self:stretch!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer{min-width:0;height:55px;display:flex;align-items:center}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer>img{width:38px;height:38px;flex:none}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer-copy{min-width:0}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer-name-row{min-width:0}
html[data-window-mode="chat"] .chat-peer-toolbar #chatName,html[data-window-mode="chat"] .chat-peer-toolbar #chatMeta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-window-mode="chat"] .chat-peer-toolbar #chatMeta{margin-top:2px;color:var(--muted)}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-actions{position:static!important;right:auto!important;top:auto!important;transform:none!important;display:flex;align-items:center;gap:10px!important;z-index:1}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action{width:30px;height:30px;padding:0;border:0!important;border-radius:6px;background:transparent!important;color:#52636c!important;box-shadow:none!important;font-size:17px;line-height:30px}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action:hover,html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action.panel-collapsed{background:#edf3f5!important;color:#283c46!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar{grid-template-columns:var(--folder-width) var(--conversation-width) minmax(380px,1fr) var(--info-width);gap:0;padding:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{grid-column:3!important;grid-row:1!important;padding:0 12px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .workspace-layout-actions{grid-column:3;grid-row:1;justify-self:end;margin-right:12px}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{padding-right:170px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-source-back{position:static!important;left:auto!important;top:auto!important;transform:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-source-back:not(.is-hidden)+.chat-peer{margin-left:0!important}
html.no-flex-gap[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action+button{margin-left:10px}

/* r40: only the 25px native strip sits above the workbench.  The peer row is
   part of the central conversation area and shares its wallpaper. */
html[data-window-mode="chat"] .chat-window{grid-template-rows:25px minmax(0,1fr)}
html[data-window-mode="chat"] .chat-header{grid-template-rows:25px!important;border-bottom:0!important}
html[data-window-mode="chat"] .conversation-column{grid-template-rows:55px auto auto minmax(0,1fr) 180px!important}
html[data-window-mode="chat"] .conversation-column>.chat-peer-toolbar{grid-row:1}
html[data-window-mode="chat"] .conversation-column>.pinned-message-bar{grid-row:2}
html[data-window-mode="chat"] .conversation-column>.non-contact-banner{grid-row:3}
html[data-window-mode="chat"] .conversation-column>.message-list{grid-row:4}
html[data-window-mode="chat"] .conversation-column>.composer{grid-row:5}
html[data-window-mode="chat"] .chat-peer-toolbar{grid-row:1!important;height:55px;display:grid;grid-template-columns:minmax(0,1fr) auto!important;align-items:center;gap:12px!important;padding:0 12px!important;background-color:#dff1d5!important;background-image:var(--chat-message-wallpaper)!important;background-repeat:repeat!important;background-size:240px 240px!important;border-bottom:1px solid rgba(104,132,143,.2);box-sizing:border-box}
html[data-window-mode="chat"][data-chat-background="night"] .chat-peer-toolbar{background-color:#1f384d!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-header-context,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{grid-column:1!important;grid-row:1!important;padding:0!important;padding-right:170px!important}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-actions,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .workspace-layout-actions{grid-column:2!important;grid-row:1!important;justify-self:end;margin-right:0}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer{height:55px}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action{color:#4a5961!important}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action:hover,html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-action.panel-collapsed{background:rgba(255,255,255,.52)!important;color:#283c46!important}

/* r41: the compact peer strip is text-only.  The avatar remains in the
   conversation list and information sidebar, while this strip stays white. */
html[data-window-mode="chat"] .chat-peer-toolbar{background:#fff!important;background-image:none!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-header-context,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{padding-right:0!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer>img,html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer>.status-dot{display:none!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer-copy{width:auto;max-width:100%;min-width:0}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-peer-name-row{max-width:100%}

/* Public saved messages and Telegram-style device manager. */
.favorites-modal,.devices-modal{width:min(680px,calc(100vw - 32px));height:min(700px,calc(100vh - 48px))}
.favorites-window-controls{display:flex;align-items:center;gap:10px}.favorites-window-controls>button{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.2);color:#fff;font-size:15px;cursor:pointer}.favorites-window-controls>button:hover{background:rgba(255,255,255,.35)}
html.no-flex-gap .favorites-window-controls{gap:0}html.no-flex-gap .favorites-window-controls>button+button{margin-left:10px}
html:not([data-window-mode="dialog"]) .favorites-window-controls>[data-action]{display:none}
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"],
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"] body,
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"] #app{border-radius:0!important;clip-path:none!important}
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"] #modalBackdrop{align-items:stretch;justify-content:stretch;padding:0;overflow:visible;border-radius:0}
html[data-window-mode="dialog"][data-dialog-id="favoritesModal"] .favorites-modal{box-sizing:border-box;left:var(--main-shadow-gutter);right:var(--main-shadow-gutter);top:var(--main-shadow-gutter);bottom:var(--main-shadow-gutter);width:auto;height:auto;max-width:none;max-height:none;overflow:hidden;border:1px solid var(--main-border)!important;border-radius:var(--main-radius)!important;background-color:var(--main-panel);background-clip:padding-box;box-shadow:var(--main-shadow)!important;isolation:isolate;transform:translateZ(0)!important}
.favorites-modal .modal-content,.devices-modal .modal-content{min-height:0;overflow:auto;padding:0}
.favorites-list,.devices-list{display:grid;align-content:start}.favorites-list{grid-auto-rows:min-content}
.favorites-empty,.devices-empty{padding:48px 20px;text-align:center;color:var(--muted);font-size:13px}
.favorite-item{padding:8px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:4px;background:rgba(255,255,255,.74)}
.favorite-item:hover{background:var(--accent-soft)}
.favorite-item header{grid-column:1/-1;height:auto;min-height:0;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:space-between}
.favorite-item header strong{font-size:13px;color:var(--accent-strong)}
.favorite-item header time{font-size:12px;color:var(--muted)}
.favorite-item p{grid-column:1;margin:0;font-size:13px;line-height:1.35;color:var(--ink);white-space:pre-wrap;word-break:break-word}
.favorite-item footer{grid-column:2;height:auto;min-height:0;padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:flex-end}
.favorite-item footer button{border:0;background:transparent;color:#e04a59;font-size:12px;cursor:pointer}
.device-item{min-height:76px;padding:12px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px}
.device-item-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:800}
.device-item-copy{min-width:0;display:grid;gap:4px}.device-item-copy strong{font-size:13px}.device-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}
.device-item button{min-width:52px;height:32px;border:1px solid #efb9bf;border-radius:8px;background:#fff;color:#d94050;font-size:12px;cursor:pointer}.device-item button:disabled{border-color:var(--line);color:var(--muted);cursor:not-allowed}
.device-current{color:#24a05b;font-size:12px;font-weight:700}
.add-member-section{display:grid;gap:8px}.add-member-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.add-member-heading small{color:var(--muted)}.add-member-list{display:grid;gap:4px;max-height:218px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:6px}.add-member-item{display:grid!important;grid-template-columns:22px 38px minmax(0,1fr);align-items:center;gap:9px;padding:7px 8px;border-radius:8px;cursor:pointer}.add-member-item:hover{background:var(--soft)}.add-member-item input{width:18px;height:18px;margin:0}.add-member-item img{width:38px;height:38px;border-radius:50%;object-fit:cover}.add-member-item span{display:grid;min-width:0}.add-member-item strong,.add-member-item small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-member-empty{padding:18px 10px;text-align:center;color:var(--muted)}
.attachment-group-file-icon svg{width:22px;height:22px;fill:#fff;stroke:#fff;stroke-width:1.4;stroke-linejoin:round}.attachment-group-file-icon svg path+path{fill:none;stroke:#4fbe68;stroke-width:1.7}
.secret-chat-banner{height:34px;overflow:hidden;border-bottom:1px solid #dfcb80;background:#fff4cf;color:#735700;display:flex;align-items:center;white-space:nowrap;font-size:12px;font-weight:700}
.secret-chat-banner span{display:inline-block;min-width:100%;padding:0 18px;text-align:center;box-sizing:border-box}
.secret-chat-banner.is-marquee span{animation:secret-chat-marquee 10s linear infinite;padding-left:100%;text-align:left}
@keyframes secret-chat-marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}
.conversation-secret-lock{flex:0 0 auto;margin-left:5px;font-size:12px;line-height:1}
.account-auto-delete-row{grid-template-columns:minmax(0,1fr) 108px auto auto!important;gap:8px!important}.account-auto-delete-row select{width:108px}.account-auto-delete-row input{width:76px!important}.account-auto-delete-row em{font-style:normal;color:var(--muted);font-size:12px}

/* r59: Telegram-style attachment staging, full-height shared-groups drawer and auto-fit settings. */
.attachment-send-modal{width:min(430px,calc(100vw - 32px))}
.attachment-send-list{gap:8px;max-height:min(430px,56vh)}
.attachment-send-media-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;overflow:hidden;border-radius:8px}
.attachment-send-media-grid.count-1{grid-template-columns:1fr}
.attachment-send-media-grid.count-2{height:min(270px,42vh);grid-template-columns:repeat(2,minmax(0,1fr))}
.attachment-send-media-grid.count-2 .attachment-send-tile{height:100%;min-height:180px;aspect-ratio:auto}
.attachment-send-media-grid.count-3 .attachment-send-tile:first-child{grid-column:1/-1;aspect-ratio:1.65}
.attachment-send-media-grid.count-4,.attachment-send-media-grid.count-5,.attachment-send-media-grid.count-6,.attachment-send-media-grid.count-7,.attachment-send-media-grid.count-8,.attachment-send-media-grid.count-9{grid-template-columns:repeat(3,minmax(0,1fr))}
.attachment-send-media-grid.count-5 .attachment-send-tile:first-child,.attachment-send-media-grid.count-7 .attachment-send-tile:first-child{grid-column:span 2}
.attachment-send-tile{position:relative;min-width:0;aspect-ratio:1.05;overflow:hidden;background:#dce7ec;cursor:grab}
.attachment-send-tile:active,.attachment-send-row:active{cursor:grabbing}.attachment-send-tile.is-dragging,.attachment-send-row.is-dragging{opacity:.45}
.attachment-send-tile>img,.attachment-send-tile-visual,.attachment-send-tile-visual>img,.attachment-send-tile-visual>video{display:block;width:100%;height:100%;object-fit:cover}
.attachment-send-tile-visual{position:relative}.attachment-send-tile-visual>i{position:absolute;left:50%;top:50%;width:38px;height:38px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-style:normal}
.attachment-send-drag{position:absolute;z-index:2;right:37px;top:6px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:rgba(12,37,47,.64);color:#fff;font-size:20px;font-style:normal;line-height:1}
.attachment-send-tile>.attachment-send-remove{position:absolute;z-index:2;right:5px;top:5px;width:28px;height:28px;border-radius:50%;background:rgba(12,37,47,.72);color:#fff;font-size:18px}.attachment-send-file-list{display:grid}.attachment-send-row{cursor:grab}
.chat-content{position:relative}.sidebar-detail-drawer{position:absolute;z-index:35;top:0;right:0;bottom:0;left:auto;width:205px;min-height:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .sidebar-detail-drawer{width:var(--info-width,238px)}
@media(max-width:980px){.sidebar-detail-drawer{display:none}}
#appSettingsModal{height:auto!important;max-height:none!important;grid-template-rows:auto auto auto;overflow:visible!important}
#appSettingsModal>.modal-content,html[data-window-mode="dialog"] #appSettingsModal>.modal-content{min-height:0;overflow:visible!important}
html[data-window-mode="dialog"] #appSettingsModal>header{padding:12px 19px}
html[data-window-mode="dialog"] #appSettingsModal>.modal-content{padding:12px 20px}
html[data-window-mode="dialog"] #appSettingsModal>footer{padding:9px 18px}
html[data-window-mode="dialog"] #appSettingsModal .setting-list>label,html[data-window-mode="dialog"] #appSettingsModal .setting-link{min-height:50px;padding:6px 4px}
html[data-window-mode="dialog"] #appSettingsModal .chat-background-setting{padding:8px 4px 9px}
html[data-window-mode="dialog"] #appSettingsModal .chat-background-setting>span{margin-bottom:7px}
html[data-window-mode="dialog"] #appSettingsModal .chat-background-choices{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}
html[data-window-mode="dialog"] #appSettingsModal .chat-background-choices i{height:36px}

/* r60: persistent-media presentation, TG mosaics and compact independent composer. */
html[data-window-mode="chat"] .conversation-column{grid-template-rows:55px auto auto minmax(0,1fr) 132px!important}
html[data-window-mode="chat"] .composer{grid-template-rows:32px minmax(54px,1fr) 38px!important;min-height:0!important}
html[data-window-mode="chat"] .composer-editor textarea{box-sizing:border-box;min-height:56px!important;max-height:100px!important;padding-top:8px;padding-bottom:8px}
html[data-window-mode="chat"] .composer-footer{min-width:0;width:100%;box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr) max-content;align-items:center;padding-top:2px;padding-bottom:6px}
html[data-window-mode="chat"] .composer-footer>span{grid-column:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
html[data-window-mode="chat"] .composer-footer>div{grid-column:2;justify-self:end;display:flex;flex:0 0 auto;margin-left:0!important}
html[data-window-mode="chat"] .chat-float-actions{bottom:146px}
.attachment-media-mosaic{display:grid;width:min(400px,62vw);max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;overflow:hidden;background:#dce7ec}
.attachment-media-mosaic.count-1{grid-template-columns:1fr}
.attachment-media-mosaic.count-3 .attachment-media-mosaic-tile:first-child{grid-column:1/-1;aspect-ratio:1.72}
.attachment-media-mosaic.count-4,.attachment-media-mosaic.count-5,.attachment-media-mosaic.count-6,.attachment-media-mosaic.count-7,.attachment-media-mosaic.count-8,.attachment-media-mosaic.count-9{grid-template-columns:repeat(3,minmax(0,1fr))}
.attachment-media-mosaic.count-5 .attachment-media-mosaic-tile:first-child,.attachment-media-mosaic.count-7 .attachment-media-mosaic-tile:first-child{grid-column:span 2}
.attachment-media-mosaic-tile{position:relative;display:block;min-width:0;aspect-ratio:1.28;padding:0;border:0;overflow:hidden;background:#dce7ec;cursor:pointer}
.attachment-media-mosaic .attachment-group-thumb{display:block;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;object-fit:cover}
.attachment-mosaic-play{position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-style:normal;font-size:19px}
.grouped-attachment-message:has(.attachment-media-mosaic) .bubble{min-width:0;max-width:min(400px,62vw);border-radius:13px!important}
.attachment-send-modal{width:min(382px,calc(100vw - 32px));border-radius:8px!important;box-shadow:0 18px 54px rgba(16,35,44,.28)!important}
.attachment-send-modal>header{min-height:54px;padding:11px 18px;border-bottom:0}.attachment-send-modal>header h2{font-size:16px;font-weight:700}
.attachment-send-content{padding:4px 18px 2px}.attachment-send-list{gap:0;max-height:min(420px,55vh)}
.attachment-send-media-grid{width:100%;gap:2px;border-radius:8px}.attachment-send-tile{min-height:0;contain:layout paint;cursor:grab}.attachment-send-media-grid.count-1{height:min(330px,48vh)}.attachment-send-media-grid.count-1 .attachment-send-tile{height:100%;aspect-ratio:auto}.attachment-send-media-grid.count-1 .attachment-send-tile>img{object-fit:contain;background:#e8eff2}.attachment-send-media-grid.count-3{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1.72fr) minmax(0,1fr);height:min(330px,48vh)}.attachment-send-media-grid.count-3 .attachment-send-tile{min-height:0;aspect-ratio:auto}.attachment-send-media-grid.count-3 .attachment-send-tile:first-child{grid-column:1/-1}
.attachment-send-drag{right:38px;top:6px;width:26px;height:26px;background:rgba(45,48,50,.58);font-size:17px}
.attachment-send-tile>.attachment-send-remove{right:5px;top:5px;width:26px;height:26px;background:rgba(45,48,50,.68);font-size:16px}
.attachment-order-hint{margin:7px 0 2px;color:#7b878d;font-size:12px}.attachment-order-hint.is-hidden{display:none}
.attachment-merge-row{padding:8px 0 5px}.attachment-merge-row+.attachment-merge-row{padding-top:4px}
.attachment-caption-field{margin-top:5px}.attachment-caption-field textarea{min-height:46px;resize:none}
.attachment-send-modal>footer{padding:8px 18px 12px;border-top:0}.attachment-send-modal>footer .secondary-btn{border-color:transparent;background:transparent;color:var(--accent-strong)}
.attachment-send-modal>footer .primary-btn{border-radius:7px}
.attachment-send-modal{grid-template-rows:auto minmax(0,1fr) auto!important;max-height:calc(100vh - 16px)}
.attachment-send-modal>.attachment-send-content{min-height:0;overflow-y:auto!important;overscroll-behavior:contain}
.attachment-send-modal>footer{position:relative;z-index:3;flex:none;box-shadow:0 -1px 0 rgba(119,151,163,.16)}
html[data-window-mode="dialog"] .attachment-send-modal>.attachment-send-content{overflow-y:auto!important}
.sidebar-last-seen{display:none!important}.sidebar-info>#sidebarSignature{margin-top:6px!important}
.sidebar-shared-groups>button>span{flex:0 0 auto;min-width:66px;justify-content:flex-end;gap:10px!important;white-space:nowrap}
.sidebar-shared-groups>button>span b{min-width:38px;text-align:right;margin-right:8px}

/* r61: video thumbnails share the image mosaic and independent-chat actions stay bottom-right. */
.composer-video-preview>video{display:block;width:100%;height:100%;object-fit:cover}
.attachment-media-mosaic video.attachment-group-thumb{background:#263942}
.sidebar-shared-groups:not(.is-hidden){display:block!important}

/* r62: images and videos stay in Telegram-style preview mode; only real files use rows. */
.composer-attachment-preview{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;align-items:stretch}
.composer-media-preview-strip{display:flex;flex:0 0 auto;gap:5px;min-width:0}
.composer-media-preview-tile{position:relative;flex:0 0 62px;width:62px;height:62px;overflow:hidden;border-radius:8px;background:#dce7ec;box-shadow:0 1px 4px rgba(12,37,47,.16)}
.composer-media-preview-tile>img,.composer-media-preview-tile>.attachment-send-tile-visual,.composer-media-preview-tile>.attachment-send-tile-visual>img,.composer-media-preview-tile>.attachment-send-tile-visual>video,.composer-media-preview-tile>.attachment-media-placeholder{display:block;width:100%;height:100%;object-fit:cover}
.composer-media-preview-tile>.attachment-send-tile-visual{position:relative}
.composer-media-preview-tile>.attachment-send-tile-visual>i{width:28px;height:28px;font-size:13px}
.composer-media-preview-tile>.composer-attachment-remove{position:absolute;z-index:3;right:3px;top:3px;width:21px;height:21px;background:rgba(20,32,38,.68);color:#fff;font-size:15px;line-height:21px}
.composer-media-preview-tile>.composer-attachment-remove:hover{background:rgba(216,61,84,.9);color:#fff}
.attachment-send-open .composer-attachment-preview{display:none!important}
.attachment-media-load-failed{display:grid;place-items:center;gap:5px;width:min(220px,54vw);min-height:96px;padding:12px;border:0;border-radius:10px;background:linear-gradient(145deg,#dce7ec,#c5d5dc);color:#426472;font:inherit;text-align:center;cursor:pointer}.attachment-media-load-failed:disabled{cursor:wait}.attachment-media-load-failed>i{font-size:30px;font-style:normal}.attachment-media-load-failed>small{font-size:11px;line-height:1.5}
.attachment-media-placeholder{display:grid!important;place-items:center;width:100%;height:100%;background:linear-gradient(145deg,#dce7ec,#b9ced8);color:#2b637b;font-size:28px;font-style:normal}
.attachment-send-media-grid.count-4{grid-template-columns:minmax(0,1.38fr) minmax(0,.82fr);grid-template-rows:repeat(3,minmax(82px,1fr));height:min(330px,48vh)}
.attachment-send-media-grid.count-4 .attachment-send-tile{aspect-ratio:auto;min-height:0}
.attachment-send-media-grid.count-4 .attachment-send-tile:first-child{grid-row:1/4}
.attachment-media-mosaic.count-4{grid-template-columns:minmax(0,1.38fr) minmax(0,.82fr);grid-template-rows:repeat(3,minmax(70px,1fr));height:min(360px,58vw)}
.attachment-media-mosaic.count-4 .attachment-media-mosaic-tile{aspect-ratio:auto;min-height:0}
.attachment-media-mosaic.count-4 .attachment-media-mosaic-tile:first-child{grid-row:1/4}

/* r78: keep outgoing mosaics inside narrow merged-chat columns. */
.grouped-attachment-message:has(.attachment-media-mosaic) .message-bundle{width:min(400px,100%);max-width:100%!important;min-width:0}
.grouped-attachment-message:has(.attachment-media-mosaic) .bubble{box-sizing:border-box;width:100%;max-width:100%!important}
.grouped-attachment-message:has(.attachment-media-mosaic) .attachment-media-mosaic{box-sizing:border-box;width:100%;max-width:100%}
html[data-window-mode="chat"][data-chat-layout="merged"] .message-row.mine.grouped-attachment-message{box-sizing:border-box;padding-left:8px;padding-right:4px}
html[data-window-mode="chat"][data-chat-layout="merged"] .message-row.mine.grouped-attachment-message .message-bundle{display:block!important;flex:0 1 auto;width:calc(100% - 12px)!important;max-width:400px!important;min-width:0}
html[data-window-mode="chat"][data-chat-layout="merged"] .message-row.mine.grouped-attachment-message .bubble{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}

/* r68: media previews keep Telegram mosaic geometry and paint a real video frame when available. */
.attachment-send-tile>img,.attachment-send-tile>.attachment-send-tile-visual{position:absolute;inset:0;max-width:none!important;max-height:none!important;margin:0!important}
.attachment-send-tile>.attachment-send-tile-visual>img,.attachment-send-tile>.attachment-send-tile-visual>video{position:absolute;inset:0;max-width:none!important;max-height:none!important;margin:0!important}
.attachment-send-tile-visual>video{background:linear-gradient(145deg,#d7e3e8,#aebfc7)}
.attachment-send-tile-visual>video.has-preview-frame{background:#1d2c33}

/* r64: responsive shared-media drawer and independent-chat layout. */
.sidebar-media-links button.is-hidden{display:none!important}
.shared-media-drawer{z-index:46!important;display:grid!important;grid-template-rows:52px 42px auto minmax(0,1fr);width:min(430px,calc(100% - 34px))!important;max-width:430px;background:#f7fafb!important;opacity:0;pointer-events:none;transform:none!important;clip-path:inset(0 0 0 100%);transition:clip-path .22s cubic-bezier(.2,.75,.2,1),opacity .16s ease!important;visibility:visible!important;box-shadow:-14px 0 34px rgba(9,40,54,.24)!important}
.shared-media-drawer.open{opacity:1;pointer-events:auto;transform:none!important;clip-path:inset(0)}
.shared-media-drawer>header{grid-template-columns:36px minmax(0,1fr) 80px!important;padding:6px 10px!important}
.shared-media-drawer-view{display:flex;justify-content:flex-end;gap:4px}
.shared-media-drawer-view button{width:34px!important;height:32px!important;border-radius:7px!important;font-size:15px!important;color:var(--muted)!important}
.shared-media-drawer-view button.active{background:var(--accent-soft)!important;color:var(--accent-strong)!important}
.shared-media-drawer-tabs{display:flex;min-width:0;gap:3px;padding:5px 8px;overflow-x:auto;border-bottom:1px solid var(--line);background:#fff}
.shared-media-drawer-tabs button{flex:0 0 auto;height:31px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}
.shared-media-drawer-tabs button.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:700}
.shared-media-drawer-tabs b{font-size:9px}
.shared-media-drawer-selection{display:flex;align-items:center;gap:7px;padding:6px 9px;border-bottom:1px solid var(--line);background:#eef8fb;font-size:11px}
.shared-media-drawer-selection.is-hidden{display:none}
.shared-media-drawer-selection button{height:29px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--accent-strong);font-size:10px;cursor:pointer}
.shared-media-drawer-selection button:first-of-type{margin-left:auto}.shared-media-drawer-selection .danger{color:#dc3e55}
.shared-media-drawer-list{min-height:0;overflow:auto;padding:8px;background:#f4f7f8}
.shared-media-drawer-list.preview-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;align-content:start;gap:2px}
.shared-media-drawer-item{position:relative;min-width:0;overflow:hidden;border:0;background:#fff;cursor:pointer}
.shared-media-drawer-list.preview-mode .shared-media-drawer-item{width:100%;height:auto!important;min-height:0;padding:0;border-radius:1px}
.shared-media-drawer-list.preview-mode .shared-media-drawer-item::before{content:"";display:block;width:100%;padding-top:100%}
.shared-media-drawer-item>img,.shared-media-drawer-video,.shared-media-drawer-video>video{display:block;width:100%;height:100%;object-fit:cover}
.shared-media-drawer-list.preview-mode .shared-media-drawer-item>img,.shared-media-drawer-list.preview-mode .shared-media-drawer-item>.shared-media-drawer-video{position:absolute;top:0;right:0;bottom:0;left:0}
.shared-media-drawer-video{position:relative}.shared-media-drawer-video>i{position:absolute;left:50%;top:50%;width:34px;height:34px;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;background:rgba(0,0,0,.56);color:#fff;font-style:normal}
.shared-media-drawer-copy{display:grid;min-width:0;padding:7px}.shared-media-drawer-copy strong,.shared-media-drawer-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shared-media-drawer-copy strong{font-size:11px}.shared-media-drawer-copy small{color:var(--muted);font-size:9px}
.shared-media-drawer-list.preview-mode .shared-media-drawer-copy{display:none}
.shared-media-month-heading{grid-column:1/-1;min-height:34px;padding:9px 4px 5px;box-sizing:border-box;color:var(--ink);font-size:12px;font-weight:700;background:#f4f7f8}
.shared-media-drawer-list.list-mode{display:grid;align-content:start;gap:4px}.shared-media-drawer-list.list-mode .shared-media-drawer-item{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;min-height:58px;border-radius:8px}.shared-media-drawer-list.list-mode .shared-media-drawer-item>img,.shared-media-drawer-list.list-mode .shared-media-drawer-video{width:58px;height:58px}.shared-media-drawer-list.list-mode .shared-media-drawer-item>audio{width:150px;margin-left:5px}
.shared-media-drawer-icon{display:grid;place-items:center;width:100%;height:100%;min-height:58px;background:#e1eef3;color:var(--accent-strong);font-size:25px}
/* r91: files and links are readable list records, never media preview tiles. */
.shared-media-drawer>header>strong{font-size:14px!important}
.shared-media-drawer-view.is-hidden{display:none!important}
.shared-media-drawer-tabs button{font-size:13px!important}
.shared-media-drawer-tabs b{font-size:12px!important}
.shared-media-drawer-selection{font-size:13px!important}
.shared-media-drawer-selection button{font-size:12px!important}
.shared-media-drawer-copy strong{font-size:13px!important;line-height:1.35}
.shared-media-drawer-copy small{font-size:12px!important;line-height:1.35}
.shared-media-drawer-list.fixed-list-type{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start;gap:5px;padding:8px!important}
.shared-media-drawer-list.fixed-list-type .shared-media-drawer-item{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;align-items:center;min-height:58px!important;border-radius:8px!important}
.shared-media-drawer-list.fixed-list-type .shared-media-drawer-icon{width:58px;height:58px;min-height:58px}
.shared-media-drawer-list.fixed-list-type .shared-media-drawer-copy{display:grid!important;padding:8px 11px!important;gap:4px}
.shared-media-drawer-list.fixed-list-type .shared-media-drawer-item::before{display:none!important}
.shared-media-drawer-check{position:absolute;z-index:2;right:5px;top:5px;width:22px;height:22px;display:none;place-items:center;border:2px solid rgba(255,255,255,.88);border-radius:50%;background:rgba(18,45,56,.58);color:#fff;font-size:12px;font-style:normal;box-sizing:border-box}.shared-media-drawer-list.selection-mode .shared-media-drawer-check{display:grid}.shared-media-drawer-item.selected{outline:3px solid var(--accent);outline-offset:-3px}.shared-media-drawer-item.selected .shared-media-drawer-check{border-color:#fff;background:var(--accent)}
.shared-media-context-menu{z-index:95!important;min-width:142px}.shared-media-context-menu button{display:flex;width:100%;min-height:34px;align-items:center;padding:6px 12px;border:0;background:#fff;text-align:left;cursor:pointer}.shared-media-context-menu button:hover{background:var(--soft)}.shared-media-context-menu button.danger{color:#dc3e55}
html[data-window-mode="chat"][data-chat-layout="independent"] .desktop-screen,
html[data-window-mode="chat"][data-chat-layout="independent"] .workspace,
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-window,
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-content{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .workspace{place-items:stretch!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .desktop-screen,
html[data-window-mode="chat"][data-chat-layout="merged"] .workspace,
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-window,
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-content{box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .workspace{place-items:stretch!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-content{grid-template-columns:minmax(0,1fr)!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-sidebar{display:none!important}
html[data-window-mode="chat"][data-chat-layout="independent"].independent-info-visible .chat-content{grid-template-columns:minmax(0,1fr) 238px!important}
html[data-window-mode="chat"][data-chat-layout="independent"].independent-info-visible .chat-sidebar{display:block!important}
html[data-window-mode="chat"][data-chat-layout="independent"].independent-info-visible .chat-sidebar{box-sizing:border-box;width:238px!important;min-width:238px!important;max-width:238px!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .conversation-column{grid-template-rows:55px auto auto minmax(0,1fr) 132px!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .composer{height:132px!important;grid-template-rows:32px 62px 38px!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .composer-editor{min-height:0!important;overflow:hidden!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .composer-editor textarea{height:62px!important;min-height:62px!important;max-height:62px!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .composer-footer{align-self:stretch!important}.composer-footer>div{margin-left:auto!important}
/* r66: the old <=720px mobile-style rule reserved 72px above chat-content.
   Native chat windows now use a 25px title row, so let the grid stretch the
   content to the real window bottom and keep composer actions bottom-right. */
html[data-window-mode="chat"] .chat-content{height:auto!important;align-self:stretch!important;min-height:0!important}
@media(max-width:980px){html[data-window-mode="chat"][data-chat-layout="independent"].independent-info-visible .chat-sidebar{display:block!important}.shared-media-drawer{display:grid!important}}

/* r81: reveal received image mosaics only after decode and overlay metadata on
   the picture instead of reserving a white strip below it. */
.grouped-media-message .message-bundle{width:min(400px,100%);max-width:100%!important;min-width:0}
.grouped-media-message .bubble{position:relative;box-sizing:border-box;width:100%;max-width:100%!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:hidden}
.grouped-media-message .message-body{display:block;line-height:0}
.grouped-media-message .attachment-media-mosaic{box-sizing:border-box;width:100%;max-width:100%;border-radius:12px;background:#d4e1e6}
.grouped-media-message .message-info-line{position:absolute;z-index:7;right:6px;bottom:5px;margin:0!important;padding:1px 5px!important;border-radius:9px;background:rgba(19,34,40,.54);color:rgba(255,255,255,.96)!important;line-height:16px;pointer-events:none;backdrop-filter:blur(2px)}
.grouped-media-message .message-info-line .message-time,.grouped-media-message .message-info-line>*{color:inherit!important}
.attachment-media-load-failed.is-mosaic{width:100%;height:100%;min-height:0;border-radius:0;background:linear-gradient(145deg,#dce7ec,#c5d5dc)}
.attachment-media-placeholder>small,.attachment-media-load-failed.is-mosaic>small{font-size:11px;line-height:1.4;font-weight:600}
.failed-media-message .bubble{position:relative;padding:0!important;overflow:hidden;background:transparent!important;border:0!important;box-shadow:none!important}.failed-media-message .message-body{display:block;line-height:0}.failed-media-message .message-info-line{position:absolute;z-index:7;right:6px;bottom:5px;margin:0!important;padding:1px 5px!important;border-radius:9px;background:rgba(19,34,40,.54);color:rgba(255,255,255,.96)!important;line-height:16px;pointer-events:none}.failed-media-message .message-info-line>*{color:inherit!important}

/* r85: QtWebEngine can report flex-gap support while rendering no usable gap.
   Use a concrete sibling margin so the file icon box and title start are 10px apart. */
.attachment-bubble{gap:0!important}
.attachment-bubble>.attachment-copy{margin-left:10px!important}

/* r108: one Telegram-style functional side menu across main, chat and utility windows. */
.side-menu-trigger{position:relative;z-index:3;flex:0 0 auto;width:38px;height:38px;padding:0;border:0;border-radius:9px;display:grid;place-content:center;gap:4px;background:transparent;color:inherit;cursor:pointer;-webkit-app-region:no-drag;transition:none}
.side-menu-trigger:hover,.side-menu-trigger[aria-expanded="true"]{background:rgba(255,255,255,.2)}
.side-menu-trigger:active{transform:none}
.side-menu-trigger>span{display:block;width:18px;height:2px;border-radius:2px;background:currentColor;transition:none}
.side-menu-trigger>span:nth-child(2){width:13px}.side-menu-trigger>span:nth-child(3){width:16px}.side-menu-trigger:hover>span:nth-child(2),.side-menu-trigger[aria-expanded="true"]>span:nth-child(2){width:18px}
.main-side-menu-trigger{margin-right:8px;color:#fff}html[data-window-mode="main"] .profile-header>.profile-avatar-wrap{flex:0 0 auto}
html[data-window-mode="chat"] .chat-peer-toolbar{grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-side-menu-trigger{grid-column:1;grid-row:1;color:#526872}
html[data-window-mode="chat"] .chat-peer-toolbar .chat-header-context,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{grid-column:2!important;grid-row:1!important;min-width:0}
html[data-window-mode="chat"] .chat-peer-toolbar .workspace-layout-actions,html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .workspace-layout-actions{grid-column:3!important;grid-row:1!important}
html[data-window-mode="chat"] .chat-side-menu-trigger:hover,html[data-window-mode="chat"] .chat-side-menu-trigger[aria-expanded="true"]{background:var(--accent-soft);color:var(--accent-strong)}
.merged-side-menu-trigger{display:none;color:#fff;justify-self:center;align-self:center}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-folder-rail{grid-template-rows:62px minmax(0,1fr)!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-side-menu-trigger{display:grid}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-side-menu-trigger{display:none!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .chat-header-context{grid-column:1!important}
html[data-window-mode="chat"][data-chat-layout="merged"] .chat-peer-toolbar .workspace-layout-actions{grid-column:2!important}

/* r118: the independent chat is a focused conversation window.  Its header
   starts directly with the peer identity; only the merged workbench keeps the
   global drawer entry on the left rail. */
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-side-menu-trigger{display:none!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-peer-toolbar{grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-peer-toolbar .chat-header-context{grid-column:1!important;grid-row:1!important}
html[data-window-mode="chat"][data-chat-layout="independent"] .chat-peer-toolbar .workspace-layout-actions{grid-column:2!important;grid-row:1!important}
.utility-side-menu-trigger{margin-right:10px;color:#fff}.modal>header>.utility-side-menu-trigger+div{min-width:0;flex:1}
html:not([data-window-mode="chat"]) .utility-side-menu-trigger,html:not([data-window-mode="chat"]) .global-side-menu,html:not([data-window-mode="chat"]) .global-side-menu-backdrop{display:none!important}
html.login-native-mode .utility-side-menu-trigger,html[data-window-mode="register"] .utility-side-menu-trigger{display:none!important}

.global-side-menu-backdrop{position:fixed;z-index:228;top:0;right:0;bottom:0;left:0;display:block;background:rgba(0,0,0,.5);opacity:1;pointer-events:auto;contain:layout paint;will-change:opacity;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.global-side-menu-backdrop.is-hidden{display:none!important}
.global-side-menu{position:fixed;z-index:229;left:0;top:25px;bottom:0;width:min(250px,92vw);box-sizing:border-box;display:none;flex-direction:column;overflow:hidden;background:#fff;color:#172f3b;border-right:1px solid rgba(29,72,91,.14);border-radius:0 0 0 var(--chat-radius,19px);pointer-events:none;contain:layout style paint;-webkit-user-select:none;user-select:none}
.global-side-menu.open{display:flex;pointer-events:auto}
.global-side-profile{padding:18px 20px 13px;border-bottom:1px solid #e5edf1;background:#fff}
.global-side-profile-button{width:100%;padding:0;border:0;display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.global-side-profile-button>img{width:52px;height:52px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(15,65,86,.18)}
.global-side-profile-button>span{min-width:0;display:grid;gap:4px}.global-side-profile-button strong,.global-side-profile-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-side-profile-button strong{font-size:14px}.global-side-profile-button small{color:#718894;font-size:12px}
.global-side-profile-button>svg{width:19px;height:19px;fill:none;stroke:#7f9199;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.global-side-status-button{margin:8px 0 0 62px;padding:0;border:0;background:transparent;color:#168fca;font-size:12px;line-height:18px;cursor:pointer}.global-side-status-button:hover{text-decoration:underline}
.global-side-accounts{max-height:220px;overflow:auto;padding:7px 8px 5px}
.global-side-account{position:relative;width:100%;min-height:48px;padding:5px 9px;border:0;border-radius:9px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}
.global-side-account:hover,.global-side-account.active{background:#edf7fb}.global-side-account>img{width:36px;height:36px;border-radius:50%;object-fit:cover}.global-side-account>span{min-width:0;display:grid;gap:2px}.global-side-account strong,.global-side-account small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-side-account strong{font-size:12px}.global-side-account small{color:#78909a;font-size:11px}.global-side-account>em{min-width:20px;height:18px;padding:0 5px;border-radius:9px;display:grid;place-items:center;background:#3aace0;color:#fff;font:700 10px/1 sans-serif;font-style:normal}
.global-side-account.active::after{content:"✓";position:absolute;left:37px;bottom:2px;width:15px;height:15px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;background:#37b86b;color:#fff;font-size:9px}
.global-side-nav{min-height:0;overflow:auto;padding:5px 8px 12px;border-top:1px solid #e5edf1}
.global-side-action{width:100%;min-height:46px;padding:6px 12px;border:0;border-radius:9px;display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;column-gap:10px;background:transparent;color:inherit;text-align:left;cursor:pointer}.global-side-action:hover{background:#edf7fb;color:#117fac}.global-side-action strong{font-size:12px;font-weight:600}
.global-side-icon{width:24px;height:24px;display:grid;place-items:center;color:#263d47}.global-side-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.global-side-add-account{margin:0 8px 8px;width:calc(100% - 16px);grid-template-columns:26px minmax(0,1fr);color:#168fca}.global-side-add{width:22px;height:22px;border-radius:50%;background:#39aadd;color:#fff;font-size:19px;line-height:22px}
.global-side-night-action{grid-template-columns:26px minmax(0,1fr) auto}.global-side-switch{width:34px;height:20px;padding:2px;border-radius:12px;box-sizing:border-box;background:#aeb9be;transition:background-color .16s ease}.global-side-switch i{display:block;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:transform .16s ease}.global-side-switch.active{background:#4b9fc8}.global-side-switch.active i{transform:translateX(14px)}
.global-side-menu>footer{margin-top:auto;padding:14px 20px 18px;display:grid;gap:3px;color:#82949c;font-size:11px}.global-side-menu>footer small{font-size:10px}
html[data-window-mode="main"] .global-side-menu,html[data-window-mode="main"] .global-side-menu-backdrop,html[data-window-mode="profile"] .global-side-menu,html[data-window-mode="profile"] .global-side-menu-backdrop,html[data-window-mode="skin"] .global-side-menu,html[data-window-mode="skin"] .global-side-menu-backdrop,html[data-window-mode="dialog"] .global-side-menu,html[data-window-mode="dialog"] .global-side-menu-backdrop{top:0}
html[data-window-mode="main"] .global-side-menu{border-radius:var(--main-radius,18px) 0 0 var(--main-radius,18px)}
html[data-window-mode="profile"] .global-side-menu,html[data-window-mode="dialog"] .global-side-menu{border-radius:16px 0 0 16px}

.calls-modal{width:min(680px,calc(100vw - 32px));height:min(700px,calc(100vh - 48px))}.calls-window-controls{display:flex;align-items:center;gap:10px}.calls-window-controls>button{width:30px;height:30px;padding:0;border:0;border-radius:8px;background:rgba(255,255,255,.2);color:#fff;font-size:15px;cursor:pointer}.calls-window-controls>button:hover{background:rgba(255,255,255,.35)}html:not([data-window-mode="dialog"]) .calls-window-controls>[data-action]{display:none}
.calls-modal .modal-content{min-height:0;overflow:auto;padding:0}.calls-list{display:grid;align-content:start}.calls-empty{padding:58px 24px;text-align:center;color:var(--muted);font-size:13px;line-height:1.7}.call-history-item{min-height:64px;padding:8px 14px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;background:rgba(255,255,255,.74)}.call-history-item:hover{background:var(--accent-soft)}.call-history-item>img{width:42px;height:42px;border-radius:50%;object-fit:cover}.call-history-copy{min-width:0;display:grid;gap:4px}.call-history-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.call-history-copy small{color:var(--muted);font-size:11px}.call-history-copy small.missed{color:#dc4351}.call-history-actions{display:flex;align-items:center;gap:6px}.call-history-actions button{width:34px;height:34px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--accent-strong);font-size:17px;cursor:pointer}.call-history-actions button:hover{background:rgba(255,255,255,.9)}
html[data-window-mode="dialog"][data-dialog-id="callsModal"],html[data-window-mode="dialog"][data-dialog-id="callsModal"] body,html[data-window-mode="dialog"][data-dialog-id="callsModal"] #app{border-radius:0!important;clip-path:none!important}html[data-window-mode="dialog"][data-dialog-id="callsModal"] #modalBackdrop{align-items:stretch;justify-content:stretch;padding:0;overflow:visible;border-radius:0}html[data-window-mode="dialog"][data-dialog-id="callsModal"] .calls-modal{box-sizing:border-box;left:var(--main-shadow-gutter);right:var(--main-shadow-gutter);top:var(--main-shadow-gutter);bottom:var(--main-shadow-gutter);width:auto;height:auto;max-width:none;max-height:none;overflow:hidden;border:1px solid var(--main-border)!important;border-radius:var(--main-radius)!important;background-color:var(--main-panel);box-shadow:var(--main-shadow)!important}
html[data-theme-night="true"] .global-side-menu,html[data-theme-night="true"] .global-side-profile{background:#242b3f;color:#eef0ff;border-color:#3e4763}html[data-theme-night="true"] .global-side-nav,html[data-theme-night="true"] .global-side-profile{border-color:#3e4763}html[data-theme-night="true"] .global-side-account:hover,html[data-theme-night="true"] .global-side-account.active,html[data-theme-night="true"] .global-side-action:hover{background:#353d57;color:#bfc9ff}html[data-theme-night="true"] .global-side-icon{color:#e3e7ff}
.global-side-menu.open~.status-menu,.status-menu:not(.is-hidden){z-index:236!important}
@media (max-width:520px){.global-side-menu{width:min(250px,94vw)}.main-side-menu-trigger{width:34px;height:34px;margin-right:5px}.side-menu-trigger>span{width:17px}.profile-header{padding-left:10px;padding-right:10px}}

/* r111: keep pointer travel over long conversation lists on the fast paint path. */
html[data-window-mode="main"] .contact-card,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card{
  contain:layout paint;
  box-shadow:none!important;
}
html[data-window-mode="main"] .contact-card:hover,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card:hover{
  box-shadow:none!important;
}
html[data-window-mode="main"] .contact-card>:not(.contact-menu):not(.archive-unarchive-btn),
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card>:not(.contact-menu):not(.archive-unarchive-btn){
  pointer-events:none;
}
html[data-window-mode="main"] .contact-card .contact-menu,
html[data-window-mode="main"] .contact-card .archive-unarchive-btn,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card .contact-menu,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card .archive-unarchive-btn{
  pointer-events:auto;
}
html[data-window-mode="main"] .rail-btn:hover,
html[data-window-mode="main"] .rail-btn.active{
  box-shadow:none!important;
}

/* r113: the compact main window no longer owns a drawer trigger.  The merged
   workbench rail, independent chat and utility windows keep their controls. */
html[data-window-mode="main"] .main-side-menu-trigger{display:none!important}

/* r114: keep frequent desktop interactions on compositor-only properties.
   The 50% drawer shade is a plain opacity layer so opening and closing it does
   not trigger a costly blur or filter pass over the workbench. */
html[data-window-mode="chat"] .merged-conversation-pane,
html[data-window-mode="chat"] .merged-conversation-card,
html[data-window-mode="chat"] .global-side-menu,
html[data-window-mode="chat"] .global-side-action,
html[data-window-mode="main"] .contact-card {
  backface-visibility: hidden;
}

/* The native chat window is now opaque and clipped by its Win32 region.  Keep
   Chromium's outer canvas opaque too, avoiding transparent full-frame
   composition on every conversation hover. */
html[data-window-mode="chat"],
html[data-window-mode="chat"] body,
html[data-window-mode="chat"] #app{
  background:#f7fcff!important;
}

/* r109: give an already-open @mention a visible response without changing chats. */
.chat-peer-name-row.mention-target-pulse{animation:mention-target-pulse .46s ease}
@keyframes mention-target-pulse{0%,100%{transform:translateX(0)}35%{transform:translateX(3px);color:var(--accent-strong)}70%{transform:translateX(-2px);color:var(--accent-strong)}}

/* Telegram-style group management: one persistent hierarchy for profile, permissions and members. */
.telegram-group-modal{width:min(430px,calc(100vw - 28px));height:min(720px,calc(100vh - 28px));display:grid;grid-template-rows:64px minmax(0,1fr) auto!important;overflow:hidden}
.telegram-group-modal>header{box-sizing:border-box;height:64px;min-height:64px;align-self:stretch}
.telegram-group-modal.is-compact-list-page{height:auto;max-height:min(720px,calc(100vh - 28px));grid-template-rows:64px minmax(0,auto) auto!important}
.telegram-group-modal.is-compact-list-page .telegram-group-page{min-height:0}
.telegram-group-content{min-height:0;padding:0!important;overflow:auto!important;background:#eef2f4}
.telegram-group-root{display:grid;align-content:start;padding-bottom:16px}
.group-profile-hero{padding:16px 18px;background:#fff;display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:14px}
.group-profile-avatar-button{position:relative;width:82px;height:82px;padding:0;border:0;border-radius:50%;overflow:hidden;background:var(--accent-soft);cursor:pointer}
.group-profile-avatar-button>img{width:100%;height:100%;object-fit:cover}.group-profile-avatar-button>span{position:absolute;right:5px;bottom:5px;width:30px;height:30px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;background:var(--accent);font-size:14px}
.group-profile-hero-fields{min-width:0;display:grid;gap:10px}.group-profile-hero-fields label,.group-public-id-card label{display:grid;gap:5px;color:var(--accent-strong);font-size:12px;font-weight:700}
.group-profile-hero-fields input,.group-profile-hero-fields textarea{box-sizing:border-box;width:100%;margin:0;padding:7px 0;border:0;border-bottom:2px solid var(--accent);border-radius:0;background:transparent;color:var(--ink);font-size:14px;outline:0;resize:none}
.telegram-group-quick-actions{padding:12px 20px;background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border-top:1px solid var(--line)}
.telegram-group-quick-actions button{height:52px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;grid-template-columns:24px auto;place-content:center;align-items:center;gap:8px;color:var(--ink);cursor:pointer}.telegram-group-quick-actions button:hover{background:var(--accent-soft);border-color:var(--accent)}.telegram-group-quick-actions i{font-size:20px;font-style:normal}.telegram-group-quick-actions span{font-size:12px;font-weight:700}
.group-public-id-card{margin-top:8px;padding:14px 20px;background:#fff;display:grid;gap:6px}.group-public-id-card>small{color:var(--muted);font-size:11px}.group-public-id-card .public-id-input{margin-top:2px}
.telegram-section-label,.tg-section-caption{padding:11px 18px 6px;color:#73868f;font-size:10px;font-weight:700;letter-spacing:.4px}.telegram-management-list{background:#fff;display:grid}.telegram-management-list>button{min-height:52px;padding:7px 18px;border:0;border-bottom:1px solid #e1e7ea;background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;cursor:pointer}.telegram-management-list>button:hover{background:#f4f9fb}.telegram-management-list>button>i{color:#49616c;font-size:20px;font-style:normal}.telegram-management-list>button>span{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.telegram-management-list strong{font-size:13px;font-weight:600}.telegram-management-list small{color:#1689c4;font-size:12px;white-space:nowrap}.telegram-management-list b{color:#91a2aa;font-size:22px;font-weight:400}
.group-secret-row{margin-top:8px;padding:14px 20px;background:#fff}.telegram-group-root>.form-note{margin:8px 20px 0}.telegram-danger-row{height:54px;margin-top:8px;padding:0 20px;border:0;background:#fff;color:#df3f4e;text-align:left;font-size:13px;font-weight:600;cursor:pointer}.telegram-danger-row:hover{background:#fff3f4}
.telegram-group-page{min-height:100%;background:#eef2f4}.telegram-group-page>header{position:sticky;z-index:3;top:0;height:54px;padding:0 16px;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:90px minmax(0,1fr) 90px;align-items:center}.telegram-group-page>header strong{text-align:center;font-size:15px}.telegram-group-page>header button{border:0;background:transparent;color:#1689c4;font-size:13px;cursor:pointer}.telegram-group-page>header button:first-child{text-align:left}.telegram-group-page>header button:last-child{text-align:right;font-weight:700}
.telegram-group-page-body{padding:10px 0 18px;display:grid;align-content:start;gap:8px}.tg-manage-card{padding:0 18px;background:#fff;display:grid}.tg-manage-row{min-height:54px;padding:8px 0;border-bottom:1px solid #e2e8eb;display:flex;align-items:center;justify-content:space-between;gap:12px}.tg-manage-row:last-child{border-bottom:0}.tg-manage-row>span{min-width:0;display:grid;gap:3px}.tg-manage-row strong{font-size:13px}.tg-manage-row small{color:var(--muted);font-size:11px;line-height:1.4}.tg-manage-row input[type=checkbox]{width:20px;height:20px;flex:none}.tg-manage-row input[type=text],.tg-manage-row textarea{box-sizing:border-box;width:min(250px,52vw);padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12px}.tg-manage-row select{box-sizing:border-box;width:auto;min-width:0;max-width:min(210px,48vw);padding:7px 28px 7px 10px;border:1px solid var(--line);border-radius:8px;background-color:#fff;color:var(--ink);font-size:12px}.tg-manage-row textarea{min-height:72px;resize:vertical}.tg-inline-text-row input{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-member-list{background:#fff;display:grid}.tg-member-row{min-height:62px;padding:8px 16px;border:0;border-bottom:1px solid #e2e8eb;background:#fff;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;cursor:pointer}.tg-member-row:hover{background:#f3f8fa}.tg-member-row img{width:44px;height:44px;border-radius:50%;object-fit:cover}.tg-member-row>span{min-width:0;display:grid;gap:3px}.tg-member-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.tg-member-row small{color:var(--muted);font-size:11px}.tg-role-badge{padding:3px 7px;border-radius:7px;background:#e8f5fb;color:#1689c4;font-size:11px;font-weight:700}.tg-role-badge.owner{background:#f0eafb;color:#7755b8}.tg-role-badge.member{background:#eef1f3;color:#73848c}.tg-member-actions{padding:10px 18px;background:#fff;display:grid;gap:8px}.tg-member-actions button,.tg-page-action{min-height:42px;border:0;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong);font-size:12px;font-weight:700;cursor:pointer}.tg-member-actions button.danger,.tg-page-action.danger{background:#fff1f2;color:#d93f4e}.tg-empty{padding:34px 18px;text-align:center;color:var(--muted);font-size:12px}.tg-action-row{padding:11px 18px;border-bottom:1px solid var(--line);background:#fff;display:grid;gap:4px}.tg-action-row strong,.tg-action-row small{font-size:12px}.tg-action-row small{color:var(--muted)}
.tg-add-member-list .tg-member-row>input{width:19px;height:19px;accent-color:var(--accent)}.tg-add-member-list .tg-member-row small.online{color:#16a268}
.tg-direct-member-add{padding:10px 14px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.tg-direct-member-add input{min-width:0;height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:#f8fbfc;color:var(--ink);outline:0}.tg-direct-member-add small{grid-column:1/-1;color:var(--muted);font-size:10px}.tg-direct-member-add button{height:38px;padding:0 15px;border:0;border-radius:7px;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.tg-add-member-list .tg-member-row small.non-contact{color:#8a6d3b}
.tg-page-search{height:46px;margin:0 14px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;align-items:center;gap:8px;color:#8799a1}.tg-page-search input{min-width:0;flex:1;border:0!important;outline:0;background:transparent;font-size:12px}.is-filtered-out{display:none!important}.tg-radio-cards{padding:0 18px;background:#fff;display:grid}.tg-radio-card{min-height:58px;border-bottom:1px solid #e2e8eb;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;cursor:pointer}.tg-radio-card:last-child{border-bottom:0}.tg-radio-card>input{width:19px;height:19px;margin:0;accent-color:var(--accent)}.tg-radio-card>span{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px}.tg-radio-card strong{font-size:13px}.tg-radio-card small{grid-column:2;color:var(--muted);font-size:11px;line-height:1.4}.tg-radio-card i{grid-row:1/3;width:30px;height:30px;border-radius:50%;background:var(--choice-color);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.tg-appearance-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.tg-appearance-preview{padding:18px;background:#fff;display:grid;justify-items:center;gap:5px}.tg-appearance-preview img{width:80px;height:80px;border:3px solid var(--accent);border-radius:50%;object-fit:cover}.tg-appearance-preview strong{font-size:14px}.tg-appearance-preview small{color:var(--muted);font-size:11px}.tg-link-card{position:relative;margin:0;padding:12px 18px;background:#fff;display:grid;gap:10px}.tg-link-card>strong{min-width:0;padding:10px 36px 10px 12px;border-radius:7px;background:#f0f2f3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.tg-link-more{position:absolute;right:24px;top:20px;width:28px;height:28px;border:0;background:transparent;color:#84959d;font-size:22px;cursor:pointer}.tg-link-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tg-link-actions button{height:38px;border:0;border-radius:7px;background:#3aa8df;color:#fff;font-size:12px;font-weight:700;cursor:pointer}.tg-plain-row{min-height:52px;padding:8px 18px;border:0;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;align-items:center;gap:8px;text-align:left;color:var(--ink);cursor:pointer}.tg-plain-row:hover{background:#f4f9fb}.tg-plain-row>strong{font-size:13px}.tg-plain-row>small{color:var(--accent-strong);font-size:11px}.tg-plain-row>b{color:#91a2aa;font-size:20px;font-weight:400}.tg-page-note{margin:0;padding:10px 18px;background:#eef2f4;color:#8a999f;font-size:11px;line-height:1.5}.tg-reaction-choice-grid{padding:12px 18px;background:#fff;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.tg-reaction-choice-grid label{cursor:pointer}.tg-reaction-choice-grid input{position:absolute;opacity:0;pointer-events:none}.tg-reaction-choice-grid span{height:40px;border:2px solid transparent;border-radius:10px;background:#f2f5f6;display:grid;place-items:center;font-size:22px}.tg-reaction-choice-grid input:checked+span{border-color:var(--accent);background:var(--accent-soft)}.tg-permission-details{margin:0 -18px;border-bottom:1px solid var(--line)}.tg-permission-details>summary{min-height:54px;padding:8px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.tg-permission-details>summary::-webkit-details-marker{display:none}.tg-permission-details>summary>span{display:flex;align-items:center;gap:8px}.tg-permission-details>summary small{color:var(--ink);font-weight:700}.tg-permission-details>summary input{width:20px;height:20px}.tg-permission-details>div{padding:0 18px 4px 18px}.tg-disabled-setting{opacity:.65}.tg-slow-mode{padding:14px 18px;background:#fff;display:grid;gap:10px}.tg-slow-mode>div{display:flex;justify-content:space-between;gap:3px;color:#8a999f;font-size:9px}.tg-slow-mode input{width:100%;accent-color:var(--accent)}.tg-slow-mode small{color:var(--muted);font-size:11px}.tg-community-list{background:#fff}.tg-community-row{min-height:58px;padding:8px 18px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;cursor:pointer}.tg-community-row input{width:19px;height:19px}.tg-community-row>span{display:flex;align-items:center;gap:10px}.tg-community-row i{width:36px;height:36px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent-strong);font-style:normal}.tg-request-item{min-height:66px;padding:8px 14px;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;align-items:center;gap:8px}.tg-request-item img{width:44px;height:44px;border-radius:50%;object-fit:cover}.tg-request-item>span{min-width:0;display:grid}.tg-request-item small{color:var(--muted);font-size:11px}.tg-request-item button,.tg-invite-row button{padding:7px 9px;border:0;border-radius:7px;background:var(--accent-soft);color:var(--accent-strong);font-size:11px;cursor:pointer}.tg-request-item button.danger{background:#fff1f2;color:#d93f4e}.tg-invite-row{padding:11px 18px;border-bottom:1px solid var(--line);background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.tg-invite-row>span{min-width:0;display:grid;gap:3px}.tg-invite-row small{color:var(--muted);font-size:11px}.tg-recent-filter{padding:0 18px;background:#fff}.tg-recent-filter>summary{min-height:46px;display:flex;align-items:center;color:var(--accent-strong);font-size:12px;font-weight:700;cursor:pointer}.tg-recent-filter>div{padding:0 0 10px;display:grid;gap:8px}.tg-recent-filter label{display:flex;align-items:center;gap:8px;font-size:12px}.tg-sticky-actions{position:sticky;bottom:0;border-top:1px solid var(--line)}
.group-member-row{position:relative}.group-member-row .group-member-copy{flex:1}.group-member-role-badge{margin-left:auto;padding:2px 6px;border-radius:7px;background:#e8f5fb;color:#1689c4;font-size:10px;font-weight:700}.group-member-role-badge.owner{background:#f0eafb;color:#7755b8}.group-member-copy small.online{color:#179659}
.group-member-context-menu{width:190px!important;padding:7px!important}.group-member-context-menu button{display:grid!important;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:36px!important}.group-member-context-menu button i{color:#52666f;font-size:17px;font-style:normal;text-align:center}.group-member-context-menu button span{font-size:12px}.group-member-row{cursor:pointer}

/* Keep the sidebar add-account dialog anchored and readable at normal desktop scale. */
#addLoginAccountModal .modal-content{align-content:start!important;padding:12px 18px!important;gap:8px!important}#addLoginAccountModal .form-stack label{gap:5px;font-size:12px;color:#526c78}#addLoginAccountModal .form-stack input,#addLoginAccountModal .form-stack select{height:34px;font-size:12px}#addLoginAccountModal .form-note{padding:8px;font-size:11px;line-height:1.45}#addLoginAccountModal>header{padding:12px 17px}#addLoginAccountModal>header h2{font-size:16px}#addLoginAccountModal>footer{padding:9px 15px}#addLoginAccountModal>footer button{font-size:12px}
html[data-window-mode="dialog"][data-dialog-id="addLoginAccountModal"] #addLoginAccountModal{width:calc(100vw - 8px);height:calc(100vh - 8px);grid-template-rows:58px minmax(0,1fr) 54px!important}
html[data-window-mode="dialog"][data-dialog-id="addLoginAccountModal"] #addLoginAccountModal .modal-content{min-height:0;overflow:auto!important}
@media(max-width:680px){.group-profile-hero{grid-template-columns:86px minmax(0,1fr);gap:12px}.group-profile-avatar-button{width:82px;height:82px}.telegram-management-list>button>span{display:grid;gap:2px}.telegram-management-list small{white-space:normal}}

/* r126: group management is hosted by a desktop-level dialog; retain viewport centering as the web fallback. */
.telegram-group-modal{margin:0!important;animation:none!important;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}
.telegram-group-modal *{backface-visibility:visible}
.tg-manage-links-row{grid-template-columns:26px minmax(0,1fr) auto!important;width:100%}.tg-manage-links-row>strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tg-switch-row{position:relative;cursor:pointer}.tg-switch-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}.tg-switch-control,.tg-switch-wrap{flex:none}.tg-switch-control{position:relative;width:34px;height:20px;border-radius:10px;background:#a8b2b7;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:background .16s ease}.tg-switch-control:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .16s ease}.tg-switch-input:checked+.tg-switch-control{background:#42ace3}.tg-switch-input:checked+.tg-switch-control:after{transform:translateX(14px)}.tg-switch-input:focus-visible+.tg-switch-control{outline:2px solid var(--accent);outline-offset:2px}.tg-switch-input:disabled+.tg-switch-control{opacity:.55}.tg-switch-wrap{position:relative;display:inline-flex;align-items:center}
.tg-sub-permission-row{min-height:42px;padding:5px 0;border-bottom:1px solid #edf1f3;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer}.tg-sub-permission-row:last-child{border-bottom:0}.tg-sub-permission-row input{width:20px;height:20px;margin:0;accent-color:var(--accent)}.tg-sub-permission-row strong{font-size:12px;font-weight:600}.tg-setting-note{margin:-3px 0 9px;color:var(--muted);font-size:10px}.tg-permission-details>summary .tg-switch-wrap{margin-left:auto}.tg-permission-details>summary .tg-switch-input{position:absolute!important}.tg-permission-details>summary .tg-switch-control{display:block}
.tg-audit-chat{padding:12px 14px 22px;background-color:#dff1d5;background-image:var(--chat-message-wallpaper);background-repeat:repeat;background-size:240px 240px;display:grid;gap:10px}.tg-action-row.tg-audit-message{padding:0;border:0;background:transparent;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:end;gap:8px}.tg-audit-message>img{width:36px;height:36px;border-radius:50%;object-fit:cover}.tg-audit-message>span{justify-self:start;max-width:84%;padding:9px 11px;border:1px solid rgba(93,125,139,.18);border-radius:5px 13px 13px 13px;background:#fff;box-shadow:0 2px 6px rgba(28,82,105,.12);display:grid;gap:4px}.tg-audit-message strong{color:#1689c4;font-size:11px}.tg-audit-message em{padding:6px 8px;border-left:3px solid var(--accent);background:#f1f6f8;color:var(--ink);font-size:11px;font-style:normal;white-space:pre-wrap;overflow-wrap:anywhere}.tg-audit-message small{text-align:right;font-size:9px;color:#83949b}
.group-profile-hero-fields #groupProfileDescription{height:42px!important;min-height:42px!important;max-height:72px!important;padding-top:10px!important;padding-bottom:8px!important;resize:none!important;overflow-y:auto}
.group-audit-view .conversation-column{grid-template-rows:55px minmax(0,1fr)!important}.group-audit-view .conversation-column>.chat-peer-toolbar{grid-row:1!important}.group-audit-view .conversation-column>.composer,.group-audit-view .conversation-column>.pinned-message-bar,.group-audit-view .conversation-column>.non-contact-banner,.group-audit-view .conversation-column>.secret-chat-banner,.group-audit-view .conversation-column>.chat-system-notice,.group-audit-view .conversation-column>.chat-float-actions{display:none!important}html.group-audit-view[data-window-mode="chat"] .conversation-column>#messageList,.group-audit-view #messageList{grid-row:2!important;min-height:0!important;padding:0!important;overflow:auto;background-color:var(--group-appearance-color,#dff1d5)!important;background-image:var(--chat-message-wallpaper)!important;background-repeat:repeat!important;background-size:240px 240px!important}.group-audit-shell{width:100%;height:100%;min-height:100%;box-sizing:border-box;display:grid;align-content:start;background-color:var(--group-appearance-color,#dff1d5);background-image:var(--chat-message-wallpaper);background-repeat:repeat;background-size:240px 240px}.group-audit-toolbar{position:sticky;z-index:4;top:0;padding:10px 14px 8px;border-bottom:1px solid rgba(103,133,144,.2);background:rgba(247,251,252,.96);box-shadow:0 2px 7px rgba(38,80,96,.08);display:grid;gap:7px}.group-audit-toolbar .tg-page-search{width:100%;height:38px;margin:0}.group-audit-toolbar .tg-recent-filter{padding:0 12px;border:1px solid var(--line);border-radius:0}.group-audit-toolbar .tg-recent-filter>summary{min-height:34px}.group-audit-toolbar .tg-recent-filter>div{grid-template-columns:repeat(2,minmax(0,1fr))}.group-audit-results{min-height:0;padding:12px 14px 22px;display:grid;align-content:start;gap:10px}.group-audit-results>.tg-empty{background:rgba(255,255,255,.9)}
html.group-audit-view[data-window-mode="chat"] .conversation-column{grid-template-rows:55px minmax(0,1fr)!important}
html[data-group-appearance="telegram"] .message-list{--group-appearance-color:#dff1d5;background-color:#dff1d5!important}html[data-group-appearance="ocean"] .message-list{--group-appearance-color:#cfeaf0;background-color:#cfeaf0!important}html[data-group-appearance="mint"] .message-list{--group-appearance-color:#d9f0df;background-color:#d9f0df!important}html[data-group-appearance="night"] .message-list{--group-appearance-color:#243b4d;background-color:#243b4d!important;filter:saturate(.85)}html[data-group-appearance="ocean"] .message-row.mine .bubble{background:#c8edf4!important}html[data-group-appearance="mint"] .message-row.mine .bubble{background:#c9efd4!important}html[data-group-appearance="night"] .message-row:not(.mine) .bubble{background:#385064!important;color:#f3f8fb!important}html[data-group-appearance="night"] .message-row.mine .bubble{background:#356f77!important;color:#f3f8fb!important}

/* r126: every popup shell is rectangular, including native desktop utility windows. */
.modal,.modal-backdrop{border-radius:0!important}
html[data-window-mode="dialog"],html[data-window-mode="dialog"] body,html[data-window-mode="dialog"] #app,
html[data-window-mode="profile"],html[data-window-mode="profile"] body,html[data-window-mode="profile"] #app,
html[data-window-mode="register"],html[data-window-mode="register"] body,html[data-window-mode="register"] #app{border-radius:0!important;clip-path:none!important}
html[data-window-mode="dialog"] .modal:not(.is-hidden){border-radius:0!important}
html[data-window-mode="dialog"][data-dialog-id="groupProfileModal"] #groupProfileModal,
html[data-window-mode="dialog"][data-dialog-content="groupProfile"] #groupProfileModal{left:0!important;top:0!important;width:100vw!important;height:auto!important;min-height:0!important;max-width:none!important;max-height:100vh!important;grid-template-rows:64px minmax(0,1fr) auto!important}
html[data-window-mode="dialog"][data-dialog-id="groupProfileModal"] #groupProfileModal .telegram-group-content,
html[data-window-mode="dialog"][data-dialog-content="groupProfile"] #groupProfileModal .telegram-group-content{min-height:0!important;max-height:calc(100vh - 64px);overflow:auto!important}
html[data-window-mode="dialog"][data-dialog-id="groupProfileModal"] #groupProfileModal .telegram-group-page,
html[data-window-mode="dialog"][data-dialog-content="groupProfile"] #groupProfileModal .telegram-group-page{min-height:0!important}

/* r133: member header spacing and persistent Telegram-style group service messages. */
.group-service-message{display:flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:min(88%,520px);margin:10px auto;padding:5px 10px;background:rgba(111,157,102,.8);color:#fff;border-radius:12px;box-shadow:0 2px 7px rgba(49,92,43,.2);font-size:11px;line-height:1.35;text-align:center}.group-service-message time{font-size:8px;color:rgba(255,255,255,.78);white-space:nowrap}

/* r134: use a margin fallback for QtWebEngine builds whose flex gap is zero,
   and let the join prompt occupy one compact bottom row instead of inheriting
   the normal 132px independent-chat composer. */
.group-member-count-actions{gap:0!important;column-gap:0!important}.group-member-count-actions>button{margin-left:10px!important}
.conversation-column.has-group-preview{grid-template-rows:auto auto minmax(0,1fr) 64px!important}
html[data-window-mode="chat"] .conversation-column.has-group-preview,
html[data-window-mode="chat"][data-chat-layout="merged"] .conversation-column.has-group-preview,
html[data-window-mode="chat"][data-chat-layout="independent"] .conversation-column.has-group-preview{grid-template-rows:55px auto auto minmax(0,1fr) 64px!important}
.composer.is-group-preview,
html[data-window-mode="chat"] .composer.is-group-preview,
html[data-window-mode="chat"][data-chat-layout="independent"] .composer.is-group-preview{height:64px!important;min-height:64px!important;max-height:64px!important;grid-template-rows:64px!important}
.composer.is-group-preview>.group-join-prompt{height:64px!important;min-height:0!important;padding:8px 22px!important}

/* r137: persistent Telegram-style join request entry for group reviewers. */
.conversation-column>.group-join-request-banner{grid-row:2}
html[data-window-mode="chat"] .conversation-column>.group-join-request-banner{grid-row:3}
.group-join-request-banner{z-index:8;box-sizing:border-box;width:100%;min-width:0;min-height:54px;padding:6px 14px;border:0;border-bottom:1px solid var(--line);background:rgba(255,255,255,.985);box-shadow:0 2px 7px rgba(20,67,85,.055);display:grid;grid-template-columns:38px minmax(0,1fr) auto 18px;align-items:center;gap:10px;color:var(--ink);text-align:left;cursor:pointer}
.group-join-request-banner:hover{background:#f4f9fb}.group-join-request-banner:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.group-join-request-banner>img{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e8f3f7}
.group-join-request-banner>span{min-width:0;display:grid;gap:2px}.group-join-request-banner strong,.group-join-request-banner small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-join-request-banner strong{font-size:12px;color:#243f4b}.group-join-request-banner small{font-size:11px;color:var(--accent-strong)}
.group-join-request-banner>b{color:var(--accent-strong);font-size:10px;font-weight:700;white-space:nowrap}.group-join-request-banner>i{color:#8da1aa;font-size:21px;font-style:normal;text-align:right}
.tg-request-item>span{gap:2px}.tg-request-item time{color:#91a0a7;font-size:10px;line-height:1.35}.tg-request-item button{white-space:nowrap}
.group-audit-view .conversation-column>.group-join-request-banner{display:none!important}

/* r157: contact profile card, QR entry, synchronized categories and unread avatar reminder. */
.chat-peer{cursor:pointer}.sidebar-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.sidebar-username-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px}.contact-qr-button{width:34px;height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--accent-strong);font-size:20px;cursor:pointer}.contact-qr-button:hover,.contact-qr-button.active{background:var(--accent-soft)}.sidebar-contact-qr-wrap{position:relative;display:block}.sidebar-contact-qr-popover{position:absolute;z-index:26;right:0;top:38px;width:190px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 12px 28px rgba(18,65,84,.24);display:none;justify-items:center;gap:6px}.sidebar-contact-qr-wrap:hover .sidebar-contact-qr-popover:not(.is-empty),.sidebar-contact-qr-wrap.open .sidebar-contact-qr-popover:not(.is-empty){display:grid}.sidebar-contact-qr-popover img{width:170px;height:170px;object-fit:contain}.sidebar-contact-qr-popover small{color:var(--muted);font-size:10px}
.contact-profile-card-modal{width:min(430px,calc(100vw - 28px));max-height:min(650px,calc(100vh - 28px));overflow:hidden;background:#f4f5f6}.contact-profile-card-header{height:42px;padding:0 14px!important;background:#f4f5f6!important;color:#263b45!important}.contact-profile-card-scroll{max-height:calc(100vh - 70px);overflow:auto;overscroll-behavior:contain}.contact-profile-card-hero{padding:16px 24px 12px;display:grid;grid-template-columns:82px minmax(0,1fr);align-items:start;gap:18px;background:#fff}.contact-profile-card-hero>img{width:82px;height:82px;border-radius:50%;object-fit:cover}.contact-profile-card-hero>div{min-width:0;padding-top:2px;display:grid;gap:4px}.contact-profile-card-hero strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.contact-profile-card-hero span{color:var(--accent-strong);font-size:12px}.contact-profile-card-hero p{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.5;word-break:break-word}.contact-profile-card-actions{padding:10px 14px 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:#fff}.contact-profile-card-actions button{height:60px;border:1px solid var(--line);border-radius:10px;background:#fff;display:grid;place-items:center;color:var(--ink);cursor:pointer}.contact-profile-card-actions button:hover{background:var(--accent-soft)}.contact-profile-card-actions i{font-style:normal;font-size:19px}.contact-profile-card-actions span{font-size:11px}.contact-profile-card-section{margin-top:8px;padding:0 18px;background:#fff}.contact-profile-username-line{min-height:66px;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center}.contact-profile-username-line>span{display:grid;gap:4px}.contact-profile-username-line strong{color:var(--accent-strong);font-size:13px}.contact-profile-username-line small{color:var(--muted);font-size:11px}.contact-profile-link{width:100%;min-height:46px;padding:0;border:0;border-top:1px solid var(--line);background:transparent;color:var(--accent-strong);font-size:13px;text-align:left;cursor:pointer}.contact-profile-qr-popover{margin:0 0 12px;padding:14px;border-radius:12px;background:var(--accent-soft);display:grid;justify-items:center;gap:7px}.contact-profile-qr-popover>img{width:178px;height:178px;object-fit:contain;background:#fff}.contact-profile-qr-popover>strong{font-size:12px}.contact-profile-qr-popover>small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:10px}.contact-profile-category-panel{padding:0 0 12px;display:grid;gap:5px}.contact-profile-category-panel button{min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;display:flex;align-items:center;justify-content:space-between;color:var(--ink);cursor:pointer}.contact-profile-category-panel button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong)}.contact-profile-card-section>.is-hidden,.contact-profile-category-panel.is-hidden,.contact-profile-qr-popover.is-hidden{display:none!important}.contact-profile-row{width:100%;min-height:58px;margin-top:8px;padding:0 20px;border:0;background:#fff;display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;text-align:left;cursor:pointer}.contact-profile-row strong{font-size:13px}.contact-profile-row span{font-size:19px}.contact-profile-row i{font-style:normal;color:var(--muted);font-size:20px}.workspace-folder-manager-row [data-managed-folder-move]{min-width:34px;padding-left:6px;padding-right:6px}.workspace-folder-manager-row [data-managed-folder-move]:disabled{opacity:.32;cursor:default}

/* r158: crisp single operation notices, integer-positioned profile card and category-first ordering. */
.toast-region{transform:none!important;gap:0!important;justify-items:stretch!important}
.toast{box-sizing:border-box;width:100%;min-width:0!important;border-radius:0!important;text-rendering:auto;-webkit-font-smoothing:antialiased;animation:none!important}
.toast-region.login-toast-region{width:auto!important}.toast-region.login-toast-region .toast{width:auto;min-width:230px!important}
.chat-system-notice{border-radius:0!important;text-rendering:auto;-webkit-font-smoothing:antialiased}
.contact-profile-card-modal{animation:none!important;text-rendering:auto;-webkit-font-smoothing:antialiased}
.contact-profile-card-modal *{text-rendering:auto;-webkit-font-smoothing:antialiased}
html[data-theme-night="true"] .contact-profile-card-modal,html[data-theme-night="true"] .contact-profile-card-header{background:#242b3f!important;color:#eef0ff!important}html[data-theme-night="true"] .contact-profile-card-hero,html[data-theme-night="true"] .contact-profile-card-actions,html[data-theme-night="true"] .contact-profile-card-actions button,html[data-theme-night="true"] .contact-profile-card-section,html[data-theme-night="true"] .contact-profile-row{background:#2d354a;color:#eef0ff}

/* r159: custom folders live beside the secondary All heading; category assignment uses a stable native select. */
.list-heading{justify-content:flex-start;gap:9px;min-width:0}
.list-heading>div{flex:0 0 auto}
.list-heading>#listMenuBtn{margin-left:auto;flex:0 0 auto}
.list-secondary-folder-tabs{min-width:0;flex:1;display:flex;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}
.list-secondary-folder-tabs::-webkit-scrollbar{display:none}
.list-secondary-folder-tabs button{flex:0 0 auto;max-width:92px;height:27px;padding:0 9px;border:1px solid transparent;border-radius:0;background:transparent;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;cursor:pointer}
.list-secondary-folder-tabs button:hover{background:var(--accent-soft);color:var(--accent-strong)}
.list-secondary-folder-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);font-weight:700}
.contact-profile-category-panel{padding:0 0 12px;display:block}
.contact-profile-category-select{display:grid;gap:7px;color:var(--muted);font-size:12px}
.contact-profile-category-select select{box-sizing:border-box;width:100%;height:40px;padding:0 36px 0 11px;border:1px solid var(--accent);border-radius:0;background:#fff;color:var(--ink);font:inherit;outline:none}
.contact-profile-category-select select:focus{box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}
html[data-theme-night="true"] .contact-profile-category-select select{background:#2d354a;color:#eef0ff}

/* r160: Telegram-style scan glyph, title-aligned secondary folders, and a roomier category selector. */
.contact-qr-button{display:grid;place-items:center}
.contact-qr-glyph{width:21px;height:21px;display:block;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.contact-qr-glyph path+path{fill:currentColor;stroke:none}
.list-heading{column-gap:16px}
.list-secondary-folder-tabs{align-self:flex-start;align-items:flex-start;gap:16px;height:20px;margin:0 0 0 16px}
.list-secondary-folder-tabs button{position:relative;max-width:92px;height:20px;padding:0;border:0;background:transparent!important;color:var(--ink);font-size:14px;font-weight:700;line-height:18px}
.list-secondary-folder-tabs button:hover{color:var(--accent-strong)}
.list-secondary-folder-tabs button.active{border:0;background:transparent;color:var(--accent-strong);font-weight:700}
.list-secondary-folder-tabs button.active::after{content:"";position:absolute;right:0;bottom:0;left:0;height:2px;background:currentColor}
.contact-profile-category-panel{padding:4px 0 18px}
.contact-profile-category-select{gap:10px;color:var(--muted);font-size:13px;line-height:18px}
.contact-profile-category-select select{height:48px;padding:0 42px 0 14px;font-size:14px;line-height:48px}

/* r161: the secondary All entry and custom categories are one aligned, clickable text row. */
.list-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:20px 12px;align-items:start;column-gap:0;row-gap:2px}
.list-heading-default-folder,.list-secondary-folder-tabs button{box-sizing:border-box;height:20px;padding:0;border:0;border-radius:0;background:transparent!important;color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;line-height:20px;text-align:left;white-space:nowrap}
.list-heading-default-folder{grid-column:1;grid-row:1;width:max-content;max-width:110px;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.list-heading-default-folder:disabled{opacity:1;cursor:default}
.list-heading-default-folder:not(:disabled):hover,.list-secondary-folder-tabs button:hover{color:var(--accent-strong)}
.list-secondary-folder-tabs{grid-column:2;grid-row:1;height:20px;margin:0 0 0 16px;align-items:flex-start;gap:0}
.list-secondary-folder-tabs button+button{margin-left:16px}
.list-heading-default-folder.active,.list-secondary-folder-tabs button.active{border:0;background:transparent!important;color:#176b3a}
.list-secondary-folder-tabs button.active::after{content:none}
.list-heading>#listMenuBtn{grid-column:3;grid-row:1 / span 2;align-self:center;justify-self:end;margin-left:9px}
.list-heading>#listSubtitle{grid-column:1 / span 2;grid-row:2;align-self:start}

/* r163: Telegram-blue selected conversations in both the compact main window and workbench. */
html[data-window-mode="main"] .contact-card.selected,
html[data-window-mode="main"] .contact-card.selected:hover,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active:hover{
  border-color:#419fd9!important;
  background:#419fd9!important;
  box-shadow:none!important;
}
html[data-window-mode="main"] .contact-card.selected .contact-copy,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .contact-copy{opacity:1}
html[data-window-mode="main"] .contact-card.selected strong,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active strong{color:#fff!important}
html[data-window-mode="main"] .contact-card.selected p,
html[data-window-mode="main"] .contact-card.selected time,
html[data-window-mode="main"] .contact-card.selected .conversation-read-state,
html[data-window-mode="main"] .contact-card.selected .conversation-flags,
html[data-window-mode="main"] .contact-card.selected .contact-menu,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active p,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active time,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .conversation-read-state,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .conversation-flags,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .contact-menu{color:rgba(255,255,255,.86)!important}
html[data-window-mode="main"] .contact-card.selected .contact-category,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .contact-category{background:rgba(255,255,255,.18);color:#fff!important}
html[data-window-mode="main"] .contact-card.selected .contact-badge,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active .contact-badge{border-color:#419fd9;background:#fff;color:#258dcc}
html[data-window-mode="main"] .contact-card.selected.pinned::before,
html[data-window-mode="chat"][data-chat-layout="merged"] .merged-conversation-list .contact-card.active.pinned::before{background:#fff}
