:root{--bg: #f0f2f5;--surface: #ffffff;--raised: #f0f2f5;--border: #e4e8ee;--text: #111b21;--text2: #54656f;--text3: #8696a0;--brand: #0878f9;--brand-pressed: #0052d6;--out: #d8ecff;--out-text: #111b21;--in: #ffffff;--chat-bg: #e8edf3;--danger: #e3344f;--success: #00a884;--read: #0878f9;--mine-overlay: rgba(8, 120, 249, .12);--mine-accent: #0657b9;--shadow: 0 1px 1px rgba(11, 20, 26, .1);--wallpaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160' fill='none' stroke='%23111b21' stroke-opacity='0.055' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='24' cy='26' r='9'/%3E%3Cpath d='M70 18l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cpath d='M118 34c0-6 10-6 10 0 0 5-10 9-10 14 0-5-10-9-10-14 0-6 10-6 10 0z'/%3E%3Cpath d='M20 86h18M29 77v18'/%3E%3Cpath d='M62 74c8-8 16 8 24 0s16 8 24 0'/%3E%3Ccircle cx='136' cy='90' r='5'/%3E%3Cpath d='M26 134l9-16 9 16z'/%3E%3Cpath d='M78 128a9 9 0 1 1 0 18 9 9 0 0 1 0-18z'/%3E%3Cpath d='M118 140h20M128 130v20'/%3E%3C/svg%3E")}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #111b21;--surface: #202c33;--raised: #2a3942;--border: #313d45;--text: #e9edef;--text2: #8696a0;--text3: #667781;--in: #202c33;--chat-bg: #0b141a;--out: #1f6fd0;--read: #53bdeb;--shadow: 0 1px 2px rgba(0, 0, 0, .45);--wallpaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160' fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='24' cy='26' r='9'/%3E%3Cpath d='M70 18l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cpath d='M118 34c0-6 10-6 10 0 0 5-10 9-10 14 0-5-10-9-10-14 0-6 10-6 10 0z'/%3E%3Cpath d='M20 86h18M29 77v18'/%3E%3Cpath d='M62 74c8-8 16 8 24 0s16 8 24 0'/%3E%3Ccircle cx='136' cy='90' r='5'/%3E%3Cpath d='M26 134l9-16 9 16z'/%3E%3Cpath d='M78 128a9 9 0 1 1 0 18 9 9 0 0 1 0-18z'/%3E%3Cpath d='M118 140h20M128 130v20'/%3E%3C/svg%3E");--out-text: #e9edef;--mine-overlay: rgba(255, 255, 255, .16);--mine-accent: #bff2ff;--wallpaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160' fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='24' cy='26' r='9'/%3E%3Cpath d='M70 18l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cpath d='M118 34c0-6 10-6 10 0 0 5-10 9-10 14 0-5-10-9-10-14 0-6 10-6 10 0z'/%3E%3Cpath d='M20 86h18M29 77v18'/%3E%3Cpath d='M62 74c8-8 16 8 24 0s16 8 24 0'/%3E%3Ccircle cx='136' cy='90' r='5'/%3E%3Cpath d='M26 134l9-16 9 16z'/%3E%3Cpath d='M78 128a9 9 0 1 1 0 18 9 9 0 0 1 0-18z'/%3E%3Cpath d='M118 140h20M128 130v20'/%3E%3C/svg%3E")}}:root[data-theme=dark]{--bg: #111b21;--surface: #202c33;--raised: #2a3942;--border: #313d45;--text: #e9edef;--text2: #8696a0;--text3: #667781;--in: #202c33;--chat-bg: #0b141a;--out: #1f6fd0;--read: #53bdeb;--shadow: 0 1px 2px rgba(0, 0, 0, .45);--out-text: #e9edef;--mine-overlay: rgba(255, 255, 255, .16);--mine-accent: #bff2ff;--wallpaper: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160' fill='none' stroke='%23ffffff' stroke-opacity='0.055' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='24' cy='26' r='9'/%3E%3Cpath d='M70 18l3 7 7 1-5 5 1 7-6-3-6 3 1-7-5-5 7-1z'/%3E%3Cpath d='M118 34c0-6 10-6 10 0 0 5-10 9-10 14 0-5-10-9-10-14 0-6 10-6 10 0z'/%3E%3Cpath d='M20 86h18M29 77v18'/%3E%3Cpath d='M62 74c8-8 16 8 24 0s16 8 24 0'/%3E%3Ccircle cx='136' cy='90' r='5'/%3E%3Cpath d='M26 134l9-16 9 16z'/%3E%3Cpath d='M78 128a9 9 0 1 1 0 18 9 9 0 0 1 0-18z'/%3E%3Cpath d='M118 140h20M128 130v20'/%3E%3C/svg%3E")}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,Segoe UI,Roboto,Noto Sans Arabic,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.4}button{font:inherit;cursor:pointer}input,textarea{font:inherit;color:var(--text)}.muted{color:var(--text2)}.hint{color:var(--text3);font-size:13px;margin:4px 0 0}.error{color:var(--danger);font-size:13px}.spacer{flex:1}.boot{height:100%;background:var(--bg)}.login{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;gap:20px}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:var(--shadow)}.login-card .form{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:10px}.login-card label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--text2)}.login-card input{height:48px;border:1px solid var(--border);background:var(--raised);border-radius:12px;padding:0 14px;font-size:18px}.login-card input:focus{outline:2px solid var(--brand);border-color:transparent}.login-note{max-width:420px;text-align:center;color:var(--text3);font-size:13px}button.primary{height:46px;border:0;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;padding:0 20px}button.primary:hover:not(:disabled){background:var(--brand-pressed)}button.primary:disabled{opacity:.5;cursor:default}button.link{background:none;border:0;color:var(--brand);font-weight:600;padding:8px}button.link.small{font-size:13px}button.link.center{display:block;margin:6px auto}.shell{height:100%;height:100dvh;display:grid;grid-template-columns:minmax(300px,30%) 1fr;grid-template-rows:minmax(0,1fr);overflow:hidden}.sidebar{display:flex;flex-direction:column;min-width:0;min-height:0;border-inline-end:1px solid var(--border);background:var(--surface)}.sidebar-header{height:60px;display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid var(--border)}.icon-button{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--text2);font-size:18px}.icon-button:hover{background:var(--raised)}.icon-button.back{display:none}.search{padding:8px 12px;border-bottom:1px solid var(--border)}.search input{width:100%;height:38px;border:0;border-radius:10px;background:var(--raised);padding:0 14px}.banner{padding:8px 14px;font-size:13px;background:var(--raised);color:var(--text2)}.banner.error{color:var(--danger)}.list-state{padding:24px 16px;color:var(--text2);text-align:center}.chat-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.chat-list li button{width:100%;display:flex;gap:12px;align-items:center;padding:10px 14px;border:0;background:transparent;color:inherit;text-align:start;border-bottom:1px solid var(--border)}.chat-list li button:hover,.chat-list li.selected button{background:var(--raised)}.chat-row-text{flex:1;min-width:0}.chat-row-top,.chat-row-bottom{display:flex;align-items:center;gap:8px}.chat-title{flex:1;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-time{font-size:12px;color:var(--text3)}.chat-preview{flex:1;font-size:13.5px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.badge{min-width:20px;height:20px;border-radius:10px;background:var(--brand);color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}.muted-icon{font-size:12px}.avatar{border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;flex:none}.avatar img{width:100%;height:100%;object-fit:cover;display:block}.main{min-width:0;min-height:0;display:flex;flex-direction:column;background:var(--chat-bg)}.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.chat{height:100%;display:flex;flex-direction:column;min-height:0}.chat-header{height:60px;display:flex;align-items:center;gap:12px;padding:0 14px;background:var(--surface);border-bottom:1px solid var(--border)}.chat-header-text{min-width:0}.chat-subtitle{font-size:12px;color:var(--text2)}.messages{flex:1;min-height:0;overflow-y:auto;padding:12px 6%;display:flex;flex-direction:column;gap:4px}.day{align-self:center;margin:10px 0 6px}.day span{background:var(--surface);color:var(--text2);font-size:12px;padding:4px 10px;border-radius:10px;box-shadow:var(--shadow)}.day.system span{color:var(--text3)}.bubble-row{display:flex}.bubble-row.mine{justify-content:flex-end}.bubble{max-width:min(560px,80%);background:var(--in);border-radius:14px;padding:7px 10px 5px;box-shadow:var(--shadow);position:relative}.bubble-row.mine .bubble{background:var(--out);color:var(--out-text)}.sender{font-size:12.5px;font-weight:700;color:var(--brand);margin-bottom:2px}.text{white-space:pre-wrap;word-break:break-word}.text.deleted{font-style:italic;opacity:.7}.text.caption{margin-top:6px}.meta{display:flex;justify-content:flex-end;gap:6px;font-size:11px;opacity:.75;margin-top:2px}.ticks.read{color:var(--read);opacity:1}.bubble-row.mine .ticks.read{color:var(--mine-accent)}.media{max-width:100%;max-height:360px;border-radius:10px;display:block}.media.thumb{filter:blur(4px)}.media.sticker{max-height:160px}.media-button,.document{background:none;border:0;padding:0;color:inherit;display:flex;flex-direction:column;gap:6px;text-align:start}.document{background:#00000014;border-radius:10px;padding:10px 12px;text-decoration:none;display:inline-block}.bubble-row.mine .document{background:var(--mine-overlay)}.placeholder{opacity:.8;font-size:14px;display:flex;flex-direction:column;gap:6px}audio{max-width:280px}.composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px;background:var(--surface);border-top:1px solid var(--border)}.composer textarea{flex:1;min-height:44px;max-height:160px;resize:none;border:1px solid var(--border);background:var(--raised);border-radius:14px;padding:11px 14px}.composer textarea:focus{outline:2px solid var(--brand);border-color:transparent}.composer .send{height:44px}.composer-note{padding:8px 14px;font-size:13px;color:var(--text2);background:var(--surface);border-top:1px solid var(--border)}@media (max-width: 760px){.shell{grid-template-columns:1fr}.shell.has-chat .sidebar{display:none}.shell:not(.has-chat) .main{display:none}.icon-button.back{display:inline-flex;align-items:center;justify-content:center}.messages{padding:10px}.bubble{max-width:88%}}.login{min-height:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:18px;padding:24px 16px 40px;max-width:980px;margin:0 auto}.login-top{display:flex;align-items:center;justify-content:space-between;padding:4px 8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow)}.download-card{display:flex;align-items:center;gap:22px;padding:22px 28px}.download-art{width:72px;height:72px;border-radius:18px;flex:none}.download-text{flex:1;min-width:0}.download-text h2{margin:0 0 4px;font-size:20px}.download-text p{margin:0;font-size:14px}a.button.primary{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 26px;border-radius:999px;background:var(--brand);color:#fff;font-weight:700;text-decoration:none}a.button.primary:hover{background:var(--brand-pressed)}.scan-card{display:flex;align-items:center;gap:32px;padding:40px 44px}.scan-text{flex:1;min-width:0}.scan-text h1{margin:0 0 26px;font-size:30px;font-weight:400}.steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;position:relative}.steps li{display:flex;align-items:center;gap:14px;font-size:16px;position:relative}.steps li+li:before{content:"";position:absolute;inset-inline-start:13px;top:-22px;height:22px;border-inline-start:1px solid var(--border)}.step-number{width:28px;height:28px;border-radius:50%;border:1px solid var(--text2);display:inline-flex;align-items:center;justify-content:center;font-size:13px;flex:none;background:var(--surface)}.inline-icon{vertical-align:middle;border-radius:5px}.help-link{padding:0;margin-top:22px;text-decoration:underline;color:var(--brand)}.help-text{margin-top:8px;max-width:420px}.status{margin-top:14px}.qr-box{position:relative;width:284px;height:284px;flex:none;background:#fff;border-radius:16px;padding:10px;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center}.qr-box .qr{width:264px;height:264px;display:block}.qr-placeholder{width:264px;height:264px;border-radius:12px;background:var(--raised)}.qr-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:16px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #fff}.qr-logo img{border-radius:12px}.login-note{text-align:center;color:var(--text3);font-size:13px}@media (max-width: 760px){.download-card{flex-wrap:wrap;justify-content:center;text-align:center}.scan-card{flex-direction:column-reverse;padding:28px 22px}.scan-text h1{font-size:26px}}.composer-wrap{background:var(--surface);border-top:1px solid var(--border)}.composer-wrap .composer{border-top:0}.composer .icon-button{font-size:20px;flex:none;height:44px;width:44px}.composer.recording{align-items:center}.rec-dot{width:12px;height:12px;border-radius:50%;background:var(--danger);animation:blink 1s infinite}.rec-clock{font-variant-numeric:tabular-nums;font-weight:700}.rec-label{color:var(--text2)}@keyframes blink{50%{opacity:.2}}.chips{display:flex;gap:6px;padding:6px 12px 8px;border-bottom:1px solid var(--border)}.chip{height:28px;padding:0 12px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text2);font-size:13px;font-weight:600}.chip.selected{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand);border-color:transparent}.chat{flex-direction:row}.chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.chat-header{position:relative}.chat-header-text{flex:1;min-width:0;cursor:pointer}.chat-header .actions{display:flex;align-items:center;gap:2px}.icon-button svg{width:22px;height:22px;display:block}.icon-button{display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chat-search{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--surface);border-bottom:1px solid var(--border)}.chat-search input{flex:1;height:36px;border:0;border-radius:10px;background:var(--raised);padding:0 12px}.chat-search .count{font-size:12px;color:var(--text3);white-space:nowrap}.popover-backdrop{position:fixed;inset:0;z-index:30}.popover{position:absolute;z-index:31;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 12px 32px #00000047;padding:6px;min-width:200px}.popover.menu{top:52px;inset-inline-end:10px}.popover button.item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:0;background:transparent;color:var(--text);border-radius:10px;font-size:15px;text-align:start;cursor:pointer}.popover button.item:hover{background:var(--raised)}.popover button.item svg{width:22px;height:22px;flex:none}.attach-menu .item .dot{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:none}.attach-menu .item .dot svg{width:17px;height:17px}.emoji-grid{display:grid;grid-template-columns:repeat(8,36px);gap:2px;padding:8px}.emoji-grid button{width:36px;height:36px;border:0;background:transparent;border-radius:8px;font-size:22px;cursor:pointer}.emoji-grid button:hover{background:var(--raised)}.messages{background-color:var(--chat-bg);background-image:var(--wallpaper)}.composer{align-items:flex-end}.composer-tools{position:relative;display:flex;align-items:center;gap:2px}.composer-tools .popover{bottom:52px;inset-inline-start:0}.composer textarea{border-radius:22px}.round-button{width:46px;height:46px;border-radius:50%;border:0;background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:none;cursor:pointer}.round-button:hover:not(:disabled){background:var(--brand-pressed)}.round-button:disabled{opacity:.5;cursor:default}.round-button svg{width:22px;height:22px}.progress{height:3px;background:color-mix(in srgb,var(--brand) 25%,transparent);border-radius:2px;overflow:hidden;margin-top:6px}.progress>div{height:100%;background:var(--brand);transition:width .2s}.info-panel{width:380px;flex:none;border-inline-start:1px solid var(--border);background:var(--surface);overflow-y:auto;display:flex;flex-direction:column}.info-header{height:60px;display:flex;align-items:center;gap:12px;padding:0 14px;border-bottom:1px solid var(--border);font-weight:600}.info-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:26px 20px 20px;border-bottom:1px solid var(--border);text-align:center}.info-hero h2{margin:6px 0 0;font-size:20px;font-weight:600}.info-hero .muted{color:var(--text2)}.info-section{padding:14px 18px;border-bottom:1px solid var(--border)}.info-section h3{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:14px;font-weight:600;color:var(--text2)}.info-section h3 span{font-weight:500;color:var(--text3)}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.media-grid img,.media-grid .media-cell{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:var(--raised);display:block}.media-grid .media-cell{display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:22px}.doc-list,.member-list,.link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.doc-list li,.member-list li{display:flex;align-items:center;gap:12px;padding:8px 4px}.doc-list .name,.member-list .name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-list .size{color:var(--text3);font-size:12px}.link-list li a{display:block;padding:8px 4px;color:var(--brand);word-break:break-all}.camera-modal{position:fixed;inset:0;z-index:40;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:16px}.camera-box{background:var(--surface);border-radius:18px;padding:14px;width:min(720px,100%);display:flex;flex-direction:column;gap:12px}.camera-box video,.camera-box img{width:100%;max-height:70vh;border-radius:12px;background:#000;object-fit:contain}.camera-actions{display:flex;justify-content:center;gap:10px}@media (max-width: 760px){.info-panel{position:fixed;inset:0;width:auto;z-index:25}.emoji-grid{grid-template-columns:repeat(6,36px)}}.bubble-stack{display:flex;flex-direction:column;align-items:flex-start;max-width:min(560px,80%)}.bubble-row.mine .bubble-stack{align-items:flex-end}.bubble-stack .bubble{max-width:100%}.bubble-actions{position:absolute;top:2px;inset-inline-end:4px;display:none;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:1px;box-shadow:var(--shadow);z-index:2}.bubble-actions .icon-button{width:28px;height:28px}.bubble:hover .bubble-actions{display:inline-flex}.bubble{overflow:visible}.quote{border-inline-start:3px solid var(--brand);background:#00000012;border-radius:8px;padding:6px 10px;margin-bottom:6px;max-width:100%}.bubble-row.mine .quote{background:var(--mine-overlay)}.quote-sender{font-size:12px;font-weight:700;color:var(--brand)}.bubble-row.mine .quote-sender{color:var(--mine-accent)}.quote-text{font-size:13px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-bar{display:flex;align-items:center;gap:8px;padding:8px 14px 0;background:var(--surface)}.reply-bar .quote{flex:1;margin:0;background:var(--raised)}.popover.quick-react{top:calc(100% + 6px);inset-inline-start:0;display:flex;gap:2px;padding:4px;min-width:0;border-radius:999px}.bubble-row.mine .popover.quick-react,.bubble-row.mine .popover.bubble-menu{inset-inline-start:auto;inset-inline-end:0}.popover.bubble-menu{top:calc(100% + 6px);inset-inline-start:0}.popover.quick-react button{width:36px;height:36px;border:0;background:transparent;border-radius:50%;font-size:20px;cursor:pointer}.popover.quick-react button:hover,.popover.quick-react button.selected{background:var(--raised)}.popover .item.danger{color:var(--danger)}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:-6px;margin-inline-start:6px;position:relative;z-index:1}.bubble-row.mine .reactions{margin-inline-start:0;margin-inline-end:6px}.reactions button{border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:1px 8px;font-size:13px;cursor:pointer;box-shadow:var(--shadow)}.reactions button.mine{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 15%,var(--surface))}.day.system.call span{display:inline-flex;align-items:center;gap:6px}.placeholder.gone .link{padding:4px 0}.media-button .chip{background:#0000008c;color:#fff;border-radius:999px;padding:4px 10px;font-size:13px;align-self:center;margin-top:-40px;position:relative}.toast{align-self:center;position:absolute;bottom:90px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);padding:8px 14px;border-radius:999px;font-size:13px;z-index:5}.chat-main{position:relative}.popover.emoji-popover{padding:0;min-width:0}.emoji-picker{width:352px;height:360px;display:flex;flex-direction:column}.emoji-tabs{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--border)}.emoji-tabs button{flex:1;height:32px;border:0;background:transparent;border-radius:8px;font-size:18px;cursor:pointer}.emoji-tabs button.selected{background:var(--raised)}.emoji-list{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:6px;align-content:start}.emoji-list button{height:38px;border:0;background:transparent;border-radius:8px;font-size:24px;cursor:pointer}.emoji-list button:hover{background:var(--raised)}.preview-modal{position:fixed;inset:0;z-index:40;background:#000c;display:flex;align-items:center;justify-content:center;padding:16px}.preview-box{background:var(--surface);border-radius:18px;width:min(860px,100%);max-height:94vh;display:flex;flex-direction:column;overflow:hidden}.preview-top{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border)}.preview-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text2);font-size:13px}.preview-tools{display:flex;gap:2px}.preview-tools .icon-button.active{background:color-mix(in srgb,var(--brand) 20%,transparent);color:var(--brand)}.preview-stage-wrap{position:relative;background:#0b141a;flex:1;min-height:0;display:flex;flex-direction:column}.preview-stage{position:relative;height:min(60vh,560px);display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}.preview-stage.drawing{cursor:crosshair}.preview-stage img,.preview-stage video{max-width:100%;max-height:100%;display:block;user-select:none}.preview-stage img.rotated{max-width:min(60vh,560px);max-height:100%}.preview-ink{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.preview-file{display:flex;flex-direction:column;align-items:center;gap:8px;color:#fff;padding:40px}.preview-colors{display:flex;gap:8px;justify-content:center;padding:8px;background:#00000059}.preview-colors button{width:26px;height:26px;border-radius:50%;border:2px solid transparent;cursor:pointer}.preview-colors button.selected{border-color:#fff;transform:scale(1.15)}.preview-strip{display:flex;gap:6px;padding:8px 12px;overflow-x:auto;border-top:1px solid var(--border)}.preview-strip button{width:56px;height:56px;border-radius:10px;border:2px solid transparent;background:var(--raised);padding:0;overflow:hidden;cursor:pointer;flex:none;font-size:22px}.preview-strip button.selected{border-color:var(--brand)}.preview-strip img{width:100%;height:100%;object-fit:cover;display:block}.preview-bottom{display:flex;align-items:flex-end;gap:8px;padding:10px 12px;border-top:1px solid var(--border)}.preview-bottom textarea{flex:1;min-height:44px;max-height:120px;resize:none;border:1px solid var(--border);background:var(--raised);border-radius:22px;padding:11px 14px}.forward-dialog{background:var(--surface);border-radius:18px;width:min(420px,100%);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.forward-dialog .chat-list{overflow-y:auto}.avatar-button{border:0;background:transparent;padding:0;border-radius:50%;cursor:pointer}.popover.account-menu{top:52px;inset-inline-end:8px}.account-name{padding:8px 14px 4px;font-weight:700;color:var(--text2);font-size:13px}.topics-bar{display:flex;gap:6px;padding:6px 12px;overflow-x:auto;background:var(--surface);border-bottom:1px solid var(--border);scrollbar-width:thin}.topic-chip{flex:none;height:28px;padding:0 12px;border-radius:14px;border:1px solid var(--border);background:var(--raised);color:var(--text);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.topic-chip.selected{background:var(--brand);border-color:var(--brand);color:#fff}.topic-chip.new{background:transparent;color:var(--brand);border-style:dashed}.topic-tag{display:inline-block;font-size:11px;font-weight:700;color:var(--brand);background:color-mix(in srgb,var(--brand) 14%,transparent);border-radius:999px;padding:1px 8px;margin-bottom:4px}.bubble-row.mine .topic-tag{color:var(--mine-accent);background:var(--mine-overlay)}.composer-note.posting-in{color:var(--brand);font-weight:600}.popover.quick-react.up,.popover.bubble-menu.up{top:auto;bottom:calc(100% + 6px)}.theme-button{color:var(--text2)}.text,.caption,.emoji-list button,.emoji-tabs button,.quick-react button,.reactions button,.chat-preview,.chat-title,.quote-text,textarea,input,.composer-note,.list-state{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif,"Noto Color Emoji"}.panel{height:100%;display:flex;flex-direction:column;min-height:0;background:var(--bg)}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:12px 16px 24px;display:flex;flex-direction:column;gap:10px}.panel .chat-header .back{display:none}.icon-button.active{background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand)}.todo-add{display:flex;gap:8px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:4px 4px 4px 14px}.todo-add input{flex:1;border:0;background:transparent;height:38px;font-size:15px}.round-button.small{width:38px;height:38px}.todo-group h3{margin:10px 0 4px;font-size:13px;color:var(--text2)}.todo-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.todo-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:8px 8px 8px 12px}.todo-row.done .todo-title{text-decoration:line-through;opacity:.6}.todo-check{border:0;background:transparent;color:var(--brand);padding:0;cursor:pointer;display:inline-flex}.todo-row.done .todo-check{color:var(--success)}.todo-text{flex:1;min-width:0}.todo-title{font-size:15px}.todo-sub{display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text2);flex-wrap:wrap}.todo-sub .overdue{color:var(--danger);font-weight:600}.popover-static{display:flex;flex-direction:column;padding:6px}.popover-static .item{display:flex;align-items:center;gap:12px;width:100%;padding:10px 14px;border:0;background:transparent;color:var(--text);border-radius:10px;font-size:15px;text-align:start;cursor:pointer}.popover-static .item:hover{background:var(--raised)}.popover-static .item svg{width:22px;height:22px}.info-tabs{display:flex;border-bottom:1px solid var(--border);margin-bottom:10px}.info-tabs button{flex:1;border:0;background:transparent;padding:8px 4px 10px;color:var(--text2);font-weight:600;font-size:13px;border-bottom:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.info-tabs button span{font-weight:500;color:var(--text3)}.info-tabs button.selected{color:var(--brand);border-bottom-color:var(--brand)}.media-grid .media-cell{position:relative;border:0;padding:0;cursor:pointer}.media-grid .media-cell .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#fff;font-size:18px;text-shadow:0 1px 4px rgba(0,0,0,.6)}.link-list li{display:flex;align-items:flex-start;gap:8px;padding:6px 4px;color:var(--text2)}.link-list li a{padding:0;flex:1;min-width:0}.doc-list button.name{background:none;border:0;color:var(--brand);text-align:start;padding:0;cursor:pointer}
