@import "https://fonts.googleapis.com/css2?family=Schibsted+Grotesk:wght@400;500;600;700;800&family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--slate-0:#fff;--slate-25:#f7f9fb;--slate-50:#eef2f6;--slate-100:#e2e8ef;--slate-200:#cdd6e0;--slate-300:#aab6c4;--slate-400:#7f8c9b;--slate-500:#5c6774;--slate-600:#45505c;--slate-700:#333d48;--slate-800:#232c35;--slate-850:#1a212a;--slate-900:#141a21;--slate-950:#0d1116;--azure-50:#eef7fe;--azure-100:#d6ecfd;--azure-200:#b0dbfb;--azure-300:#7cc3f6;--azure-400:#4aabef;--azure-500:#2f9be8;--azure-600:#1f82cf;--azure-700:#1b6aa6;--azure-800:#1c5883;--azure-900:#1b4a6c;--iris-50:#f2effe;--iris-100:#e6defe;--iris-200:#cfc0fd;--iris-300:#b29afb;--iris-400:#9678ff;--iris-500:#7c5cff;--iris-600:#6a45f0;--iris-700:#5a37d0;--iris-800:#4a30a6;--iris-900:#3e2c82;--jade-50:#e7faf6;--jade-100:#c8f3ea;--jade-200:#96e7d6;--jade-300:#5ed4bf;--jade-400:#2ec4b0;--jade-500:#14b8a6;--jade-600:#0e9c8d;--jade-700:#0d7d72;--jade-800:#10645d;--jade-900:#11534d;--green-400:#34d08a;--green-500:#22c07a;--green-600:#1a9d63;--red-400:#f5655f;--red-500:#f0463f;--red-600:#d63a34;--amber-400:#f7b64d;--amber-500:#f5a524;--amber-600:#d98a12;--success:var(--green-500);--danger:var(--red-500);--warning:var(--amber-500);--info:var(--accent);--presence-online:#2fd47b;--presence-away:var(--amber-500);--presence-offline:var(--slate-400);--unread:var(--accent)}:root,[data-accent=azure]{--accent-50:var(--azure-50);--accent-100:var(--azure-100);--accent-200:var(--azure-200);--accent-300:var(--azure-300);--accent-400:var(--azure-400);--accent-500:var(--azure-500);--accent-600:var(--azure-600);--accent-700:var(--azure-700);--accent-800:var(--azure-800);--accent-900:var(--azure-900);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-press:var(--accent-700);--accent-fg:#fff}[data-accent=iris]{--accent-50:var(--iris-50);--accent-100:var(--iris-100);--accent-200:var(--iris-200);--accent-300:var(--iris-300);--accent-400:var(--iris-400);--accent-500:var(--iris-500);--accent-600:var(--iris-600);--accent-700:var(--iris-700);--accent-800:var(--iris-800);--accent-900:var(--iris-900);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-press:var(--accent-700);--accent-fg:#fff}[data-accent=jade]{--accent-50:var(--jade-50);--accent-100:var(--jade-100);--accent-200:var(--jade-200);--accent-300:var(--jade-300);--accent-400:var(--jade-400);--accent-500:var(--jade-500);--accent-600:var(--jade-600);--accent-700:var(--jade-700);--accent-800:var(--jade-800);--accent-900:var(--jade-900);--accent:var(--accent-500);--accent-hover:var(--accent-600);--accent-press:var(--accent-700);--accent-fg:#06201d}:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:var(--slate-950);--bg-canvas:var(--slate-900);--bg-surface:var(--slate-850);--bg-surface-2:var(--slate-800);--bg-overlay:#070a0e9e;--bg-hover:#ffffff0b;--bg-active:#ffffff13;--bg-selected:color-mix(in srgb, var(--accent) 18%, var(--slate-850));--border-subtle:#ffffff0f;--border:#ffffff1a;--border-strong:#ffffff2b;--ring:var(--accent-400);--text-primary:#eef2f6;--text-secondary:#a7b4c2;--text-tertiary:#78899a;--text-disabled:#55606d;--text-inverse:#0d1116;--text-link:var(--accent-300);--accent-subtle:color-mix(in srgb, var(--accent) 20%, transparent);--accent-subtle-text:var(--accent-200);--success-subtle:color-mix(in srgb, var(--success) 20%, transparent);--danger-subtle:color-mix(in srgb, var(--danger) 20%, transparent);--warning-subtle:color-mix(in srgb, var(--warning) 20%, transparent);--bubble-in-bg:var(--slate-800);--bubble-in-text:var(--text-primary);--bubble-out-bg:color-mix(in srgb, var(--accent) 78%, #0b0f14);--bubble-out-text:#fff;--bubble-out-meta:#ffffffb8;--skeleton:#ffffff12}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-app:#e6ecf2;--bg-canvas:#eef2f6;--bg-surface:#fff;--bg-surface-2:#f4f7fa;--bg-overlay:#141a216b;--bg-hover:#1018280a;--bg-active:#10182812;--bg-selected:color-mix(in srgb, var(--accent) 12%, #fff);--border-subtle:#1018280f;--border:#1018281c;--border-strong:#1018282e;--ring:var(--accent-500);--text-primary:#0f1720;--text-secondary:#56626f;--text-tertiary:#8592a0;--text-disabled:#aab6c4;--text-inverse:#fff;--text-link:var(--accent-700);--accent-subtle:color-mix(in srgb, var(--accent) 12%, #fff);--accent-subtle-text:var(--accent-700);--success-subtle:color-mix(in srgb, var(--success) 14%, #fff);--danger-subtle:color-mix(in srgb, var(--danger) 14%, #fff);--warning-subtle:color-mix(in srgb, var(--warning) 16%, #fff);--bubble-in-bg:#fff;--bubble-in-text:#0f1720;--bubble-out-bg:var(--accent-500);--bubble-out-text:#fff;--bubble-out-meta:#ffffffd1;--skeleton:#1018280f}:root{--font-sans:"Hanken Grotesk", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Schibsted Grotesk", var(--font-sans);--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-display:34px;--fs-h1:26px;--fs-h2:21px;--fs-h3:17px;--fs-title:16px;--fs-body:15px;--fs-callout:14px;--fs-subhead:13px;--fs-caption:12px;--fs-micro:11px;--lh-tight:1.14;--lh-snug:1.3;--lh-normal:1.45;--lh-relaxed:1.6;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-display:700;--tracking-tight:-.02em;--tracking-snug:-.01em;--tracking-normal:0;--tracking-wide:.02em;--tracking-caps:.06em;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--sidebar-rail:72px;--chat-list-w:340px;--info-panel-w:340px;--topbar-h:60px;--composer-min-h:52px;--radius-0:0;--radius-xs:3px;--radius-sm:5px;--radius-md:7px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:20px;--radius-full:999px;--radius-bubble:10px;--radius-bubble-tail:4px;--radius-avatar:30%}:root,[data-theme=dark]{--shadow-xs:0 1px 2px #0006;--shadow-sm:0 2px 6px #0000006b;--shadow-md:0 6px 18px #0000007a;--shadow-lg:0 16px 40px #0000008c;--shadow-pop:0 10px 30px #0000008c, 0 0 0 1px #ffffff0f;--shadow-focus:0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--ring)}[data-theme=light]{--shadow-xs:0 1px 2px #1018280f;--shadow-sm:0 1px 3px #1018281a, 0 1px 2px #1018280f;--shadow-md:0 6px 16px #1018281a;--shadow-lg:0 18px 44px #10182829;--shadow-pop:0 12px 32px #10182829, 0 0 0 1px #1018280d;--shadow-focus:0 0 0 2px var(--bg-surface), 0 0 0 4px var(--ring)}:root{--dur-instant:80ms;--dur-fast:.13s;--dur-base:.19s;--dur-slow:.28s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.3, 0, 0, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--ease-inout:cubic-bezier(.45, 0, .15, 1);--press-scale:.97}@keyframes ev-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ev-slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ev-pop-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes ev-spin{to{transform:rotate(360deg)}}@keyframes ev-typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@keyframes ev-skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);margin:0}button,textarea{font:inherit}.app-auth{min-height:100%;padding:var(--space-4);background:linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px), var(--bg-app);background-size:36px 36px;place-items:center;display:grid}.app-auth__card{width:min(100%,420px)}.app-auth__switch{gap:var(--space-2);margin-bottom:var(--space-5);grid-template-columns:1fr 1fr;display:grid}.app-auth__switch--single{grid-template-columns:1fr}.app-auth__form{gap:var(--space-4);display:grid}.app-auth__title{align-items:center;gap:var(--space-3);display:flex}.app-auth__title h1{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0}.app-auth__error{color:var(--danger);font-size:var(--fs-body-sm);line-height:var(--lh-normal);margin:0}.app-auth__notice{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--fs-body-sm);line-height:var(--lh-normal);margin:0}.app-shell{grid-template-columns:minmax(280px, var(--chat-list-w)) minmax(0, 1fr);background:var(--bg-app);height:100%;min-height:560px;display:grid}.app-sidebar{border-right:1px solid var(--border-subtle);background:var(--bg-surface);flex-direction:column;min-width:0;display:flex}.app-sidebar__header,.app-topbar{min-height:var(--topbar-h);justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.app-brand,.app-chat-title{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-chat-title{flex:1 1 0}.app-brand__copy,.app-chat-title__copy{min-width:0}.app-eyebrow{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-micro);line-height:var(--lh-tight);text-transform:uppercase;letter-spacing:var(--tracking-caps);display:block}.app-brand h1,.app-chat-title h2{color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-title);font-weight:var(--fw-semibold);line-height:var(--lh-snug);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.app-thread-list{gap:var(--space-1);min-height:0;padding:var(--space-2);flex-direction:column;flex:1;display:flex;overflow:auto}.app-thread-actions{gap:var(--space-2);padding:var(--space-2) var(--space-2) 0;display:grid}.app-new-thread{margin:var(--space-2)}.app-new-thread__form{gap:var(--space-2);display:grid}.app-connection{margin:var(--space-2) var(--space-2) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-selected);color:var(--text-secondary);font-size:var(--fs-body-sm)}.app-conversation{background:linear-gradient(#ffffff05 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px), var(--bg-canvas);background-size:36px 36px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid}.app-admin{gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-5);background:var(--bg-canvas);grid-template-rows:auto auto auto minmax(0,1fr);display:grid;overflow:auto}.app-admin__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.app-admin__nav{min-width:0;max-width:100%;overflow-x:auto}.app-admin__header h2,.app-admin__panel h3{color:var(--text-primary);font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-snug);margin:0}.app-admin__header h2{font-size:var(--fs-heading)}.app-admin__panel h3{font-size:var(--fs-title)}.app-admin__status,.app-admin__error{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.app-push-status{margin:var(--space-2) var(--space-2) 0;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-surface-2);color:var(--text-secondary);font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.app-admin__error{border-color:color-mix(in srgb, var(--danger) 30%, var(--border-subtle));color:var(--text-primary)}.app-admin__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.app-admin__panel{gap:var(--space-4);display:grid}.app-admin__panel-slot--wide{grid-column:1/-1}.app-admin__panel-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-admin__form{gap:var(--space-3);display:grid}.app-admin__table-wrap{min-width:0;overflow:auto}.app-admin__table{border-collapse:collapse;width:100%;color:var(--text-primary);font-size:var(--fs-body-sm)}.app-admin__table th,.app-admin__table td{border-bottom:1px solid var(--border-subtle);padding:var(--space-2);text-align:left;vertical-align:middle;white-space:nowrap}.app-admin__table th{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-micro);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.app-admin__pager{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.app-admin__pager-label{color:var(--text-secondary);font-size:var(--fs-body-sm);white-space:nowrap}.app-topbar{background:color-mix(in srgb, var(--bg-surface) 90%, transparent)}.app-chat-title__row{align-items:center;gap:var(--space-2);min-width:0;display:flex}.app-presence{align-items:center;gap:var(--space-1);min-width:0;color:var(--text-tertiary);font-size:var(--fs-body-sm);line-height:var(--lh-tight);display:flex}.app-presence svg{flex:none;width:15px;height:15px}.app-presence span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-topbar__actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.app-admin__heading{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-mobile-back{display:none}.app-access-error{border:1px solid color-mix(in srgb, var(--danger) 28%, var(--border-subtle));border-radius:var(--radius-md);padding:var(--space-1) var(--space-2);background:color-mix(in srgb, var(--danger) 10%, var(--bg-surface));color:var(--text-primary);font-size:var(--fs-body-sm);line-height:var(--lh-tight);white-space:nowrap}.app-call-actions,.app-call-person-actions,.app-call-controls{align-items:center;gap:var(--space-2);display:inline-flex}.app-call-people-list{gap:var(--space-2);max-height:360px;display:grid;overflow:auto}.app-call-person-row{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);background:var(--bg-surface);display:flex}.app-call-incoming,.app-call-screen,.app-call-audio-stage{place-items:center;gap:var(--space-4);display:grid}.app-call-incoming{padding:var(--space-4) 0;color:var(--text-secondary);font-size:var(--fs-body-sm)}.app-call-status{color:var(--text-secondary);font-size:var(--fs-body-sm)}.app-call-error{bottom:var(--space-4);z-index:40;align-items:center;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-body-sm);display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.app-call-video-grid{align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;width:100%;display:flex}.app-call-video-grid .app-call-video-tile:first-child{aspect-ratio:auto;flex:100%;min-height:220px;max-height:min(62vh,560px)}.app-call-video-grid .app-call-video-tile:first-child video{object-fit:contain;height:min(62vh,560px)}.app-call-video-grid .app-call-video-tile:not(:first-child){flex:0 0 132px;width:132px;min-height:0}.app-call-video-tile{aspect-ratio:16/10;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-canvas);place-items:center;min-height:140px;display:grid;overflow:hidden}.app-call-video-tile video{object-fit:cover;width:100%;height:100%}.app-call-video--mirrored{transform:scaleX(-1)}.app-call-video-tile--clickable{cursor:pointer}.app-call-video-tile--clickable:hover,.app-call-video-tile--clickable:focus-visible{border-color:color-mix(in srgb, var(--accent) 55%, var(--border-subtle));outline:none}.app-people-dialog{gap:var(--space-4);display:grid}.app-people-list{gap:var(--space-2);max-height:320px;display:grid;overflow:auto}.app-person-option{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.app-person-option span:last-child{text-overflow:ellipsis;overflow:hidden}.app-people-empty{color:var(--text-tertiary);font-size:var(--fs-body-sm);line-height:var(--lh-normal);margin:0}.app-icon-button{border-radius:var(--radius-md);width:36px;height:36px;color:var(--text-tertiary);cursor:pointer;transition:background var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-icon-button:hover{background:var(--bg-hover);color:var(--text-primary)}.app-icon-button:active{transform:scale(var(--press-scale))}.app-icon-button svg{width:19px;height:19px}.app-message-list{min-height:0;padding:var(--space-6) clamp(var(--space-4), 5vw, var(--space-12));flex-direction:column;display:flex;overflow:auto}.app-message-list__content{gap:var(--space-1);flex-direction:column;width:100%;display:flex}.app-composer-area{min-width:0;position:relative}.app-composer-area--editing .ev-composer>.ev-composer__ibtn:first-child{display:none}.app-edit-banner,.app-reply-banner{align-items:center;gap:var(--space-2);min-height:42px;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-caption);display:flex}.app-edit-banner>svg,.app-reply-banner>svg{color:var(--accent);flex:none}.app-edit-banner>span,.app-reply-banner__content{min-width:0;color:var(--text-primary);font-weight:var(--fw-semibold);flex:1}.app-reply-banner__content{gap:1px;display:grid}.app-reply-banner__content strong{color:var(--accent);font-weight:var(--fw-semibold)}.app-reply-banner__content>span{color:var(--text-secondary);font-weight:var(--fw-regular);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-edit-banner button,.app-reply-banner button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;display:inline-flex}.app-edit-banner button:hover,.app-edit-banner button:focus-visible,.app-reply-banner button:hover,.app-reply-banner button:focus-visible{background:var(--bg-hover);box-shadow:var(--shadow-focus);outline:none}.app-edit-banner button:disabled,.app-reply-banner button:disabled{cursor:default;opacity:.55}.app-upload-status,.app-upload-error,.app-encryption-notice{right:var(--space-3);bottom:calc(100% + var(--space-2));z-index:4;border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:var(--bg-surface);color:var(--text-secondary);font-size:var(--fs-body-sm);line-height:var(--lh-tight);box-shadow:var(--shadow-xs);position:absolute}.app-upload-error{border-color:color-mix(in srgb, var(--danger) 30%, var(--border-subtle));color:var(--text-primary)}.app-encryption-notice{border-color:color-mix(in srgb, var(--accent,var(--text-secondary)) 30%, var(--border-subtle));max-width:min(28rem,80vw)}.app-message-content{gap:var(--space-2);display:grid;position:relative}.app-message-quote{width:100%;min-width:0;padding:var(--space-1) var(--space-2);border:0;border-left:3px solid var(--accent-300,var(--accent));border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 10%, transparent);color:inherit;cursor:pointer;font:inherit;text-align:left;gap:1px;display:grid}.app-message-quote strong{color:var(--accent-300,var(--accent));font-size:var(--fs-caption);font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-message-quote span{opacity:.82;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-message-quote:hover,.app-message-quote:focus-visible{background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:var(--shadow-focus);outline:none}.ev-msg[data-highlighted=true] .ev-bubble,.app-message-tombstone--highlight{animation:app-message-highlight 1.6s var(--ease-standard)}@keyframes app-message-highlight{0%,to{box-shadow:none}18%,70%{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 55%, transparent)}}.app-message-tombstone{align-self:center;align-items:center;gap:var(--space-2);margin:var(--space-1) auto;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:color-mix(in srgb, var(--bg-surface-2) 72%, transparent);color:var(--text-secondary);font-size:var(--fs-caption);display:inline-flex}.app-message-tombstone time{color:var(--text-tertiary);font-family:var(--font-mono)}.app-message-actions{z-index:7;top:calc(-1 * var(--space-3));right:calc(-1 * var(--space-3));position:absolute}.app-message-actions__trigger{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;opacity:0;box-shadow:var(--shadow-xs);transition:opacity var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.app-message-content:hover .app-message-actions__trigger,.app-message-actions__trigger:focus-visible,.app-message-actions__trigger[aria-expanded=true]{opacity:1}.app-message-actions__menu{top:calc(100% + var(--space-1));min-width:132px;padding:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);position:absolute;right:0}.app-message-actions__menu button{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font:inherit;background:0 0;border:0;display:flex}.app-message-actions__menu .app-message-actions__item--danger{color:var(--danger)}.app-message-actions__menu button:hover,.app-message-actions__menu button:focus-visible{background:var(--bg-hover);box-shadow:var(--shadow-focus);outline:none}@media (hover:none){.app-message-actions__trigger{opacity:1}}.app-message-reactions{align-items:center;gap:var(--space-1);flex-wrap:wrap;max-width:100%;display:inline-flex;position:relative}.app-message-reactions__list,.app-message-reaction-quick{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:inline-flex}.app-message-reaction,.app-message-reaction-quick__item{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-surface-2) 82%, transparent);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-caption);transition:background var(--dur-fast) var(--ease-standard), border-color var(--dur-fast) var(--ease-standard), color var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);justify-content:center;align-items:center;gap:3px;line-height:1;display:inline-flex}.app-message-reaction{padding:0 var(--space-2)}.app-message-reaction--mine{border-color:color-mix(in srgb, var(--accent) 48%, var(--border-subtle));background:var(--bg-selected);color:var(--text-primary)}.app-message-reaction:hover,.app-message-reaction:focus-visible,.app-message-reaction-quick__item:hover,.app-message-reaction-quick__item:focus-visible{background:var(--bg-hover);color:var(--text-primary);outline:none}.app-message-reaction:focus-visible,.app-message-reaction-quick__item:focus-visible{box-shadow:var(--shadow-focus)}.app-message-reaction:active,.app-message-reaction-quick__item:active{transform:scale(var(--press-scale))}.app-message-reaction-more{font-size:var(--fs-body);color:var(--text-tertiary)}.app-message-reaction-sheet{z-index:6;bottom:calc(100% + var(--space-1));width:max-content;max-width:min(240px,76vw);max-height:200px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);grid-template-columns:repeat(6,minmax(28px,1fr));gap:2px;display:grid;position:absolute;left:0;overflow:auto}.app-message-reaction-sheet--right{left:auto;right:0}.app-attachment{color:inherit}.app-attachment--image{max-width:min(320px,100%);display:block}.app-attachment--image img{border-radius:var(--radius-lg);object-fit:cover;max-width:100%;max-height:260px;display:block}.app-attachment--file{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-width:min(260px,100%);max-width:340px;padding:var(--space-2) var(--space-3);background:color-mix(in srgb, var(--bg-surface-2) 86%, transparent);text-decoration:none;display:flex}.app-attachment--file:hover{background:var(--bg-hover)}.app-attachment__name{min-width:0;font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-attachment__size{color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-caption);flex:none}.app-emoji-picker{right:var(--space-3);bottom:calc(100% + var(--space-2));z-index:5;width:min(464px,100vw - 24px);position:absolute}.app-emoji-picker__content{gap:var(--space-3);display:grid}.app-emoji-picker .ev-tabs{max-width:100%;overflow-x:auto}.app-emoji-grid{gap:var(--space-1);grid-template-columns:repeat(auto-fill,minmax(40px,1fr));max-height:260px;display:grid;overflow:auto}.app-emoji-option{aspect-ratio:1;border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);transition:background var(--dur-fast) var(--ease-standard), transform var(--dur-fast) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;font-size:23px;line-height:1;display:inline-flex}.app-emoji-option:hover,.app-emoji-option:focus-visible{background:var(--bg-hover);outline:none}.app-emoji-option:focus-visible{box-shadow:var(--shadow-focus)}.app-emoji-option:active{transform:scale(var(--press-scale))}@media (width<=760px){.app-shell{grid-template-columns:1fr}.app-shell--mobile-list .app-sidebar{display:flex}.app-shell--mobile-list .app-conversation,.app-shell--mobile-list .app-admin,.app-shell--mobile-chat .app-sidebar{display:none}.app-mobile-back{display:inline-flex}.app-topbar{gap:var(--space-2);padding:0 var(--space-3)}.app-topbar__actions .app-icon-button:first-child{display:none}.app-message-list,.app-admin{padding:var(--space-4) var(--space-3)}.app-admin__grid{grid-template-columns:1fr}.app-emoji-picker{right:var(--space-2);left:var(--space-2);width:auto}}
