@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: #ffffff;--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: #ffffff}[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: #ffffff}[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]{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: rgba(7, 10, 14, .62);--bg-hover: rgba(255, 255, 255, .045);--bg-active: rgba(255, 255, 255, .075);--bg-selected: color-mix(in srgb, var(--accent) 18%, var(--slate-850));--border-subtle: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .17);--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: #ffffff;--bubble-out-meta: rgba(255, 255, 255, .72);--skeleton: rgba(255, 255, 255, .07)}[data-theme=light]{color-scheme:light;--bg-app: #e6ecf2;--bg-canvas: #eef2f6;--bg-surface: #ffffff;--bg-surface-2: #f4f7fa;--bg-overlay: rgba(20, 26, 33, .42);--bg-hover: rgba(16, 24, 40, .04);--bg-active: rgba(16, 24, 40, .07);--bg-selected: color-mix(in srgb, var(--accent) 12%, #ffffff);--border-subtle: rgba(16, 24, 40, .06);--border: rgba(16, 24, 40, .11);--border-strong: rgba(16, 24, 40, .18);--ring: var(--accent-500);--text-primary: #0f1720;--text-secondary: #56626f;--text-tertiary: #8592a0;--text-disabled: #aab6c4;--text-inverse: #ffffff;--text-link: var(--accent-700);--accent-subtle: color-mix(in srgb, var(--accent) 12%, #ffffff);--accent-subtle-text: var(--accent-700);--success-subtle: color-mix(in srgb, var(--success) 14%, #ffffff);--danger-subtle: color-mix(in srgb, var(--danger) 14%, #ffffff);--warning-subtle: color-mix(in srgb, var(--warning) 16%, #ffffff);--bubble-in-bg: #ffffff;--bubble-in-text: #0f1720;--bubble-out-bg: var(--accent-500);--bubble-out-text: #ffffff;--bubble-out-meta: rgba(255, 255, 255, .82);--skeleton: rgba(16, 24, 40, .06)}: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}:root{--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}:root{--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 rgba(0, 0, 0, .4);--shadow-sm: 0 2px 6px rgba(0, 0, 0, .42);--shadow-md: 0 6px 18px rgba(0, 0, 0, .48);--shadow-lg: 0 16px 40px rgba(0, 0, 0, .55);--shadow-pop: 0 10px 30px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .06);--shadow-focus: 0 0 0 2px var(--bg-canvas), 0 0 0 4px var(--ring)}[data-theme=light]{--shadow-xs: 0 1px 2px rgba(16, 24, 40, .06);--shadow-sm: 0 1px 3px rgba(16, 24, 40, .1), 0 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0 6px 16px rgba(16, 24, 40, .1);--shadow-lg: 0 18px 44px rgba(16, 24, 40, .16);--shadow-pop: 0 12px 32px rgba(16, 24, 40, .16), 0 0 0 1px rgba(16, 24, 40, .05);--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{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}@keyframes ev-skeleton{0%{background-position:-200% 0}to{background-position:200% 0}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans)}button,textarea{font:inherit}.app-auth{display:grid;min-height:100%;place-items:center;padding:var(--space-4);background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),var(--bg-app);background-size:36px 36px}.app-auth__card{width:min(100%,420px)}.app-auth__switch{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);margin-bottom:var(--space-5)}.app-auth__switch--single{grid-template-columns:1fr}.app-auth__form{display:grid;gap:var(--space-4)}.app-auth__title{display:flex;align-items:center;gap:var(--space-3)}.app-auth__title h1{margin:0;color:var(--text-primary);font-family:var(--font-display);font-size:var(--fs-heading);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.app-auth__error{margin:0;color:var(--danger);font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.app-auth__notice{margin: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-shell{display:grid;grid-template-columns:minmax(280px,var(--chat-list-w)) minmax(0,1fr);height:100%;min-height:560px;background:var(--bg-app)}.app-sidebar{display:flex;min-width:0;flex-direction:column;border-right:1px solid var(--border-subtle);background:var(--bg-surface)}.app-sidebar__header,.app-topbar{display:flex;min-height:var(--topbar-h);align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle)}.app-brand,.app-chat-title{display:flex;min-width:0;align-items:center;gap:var(--space-3)}.app-brand__copy,.app-chat-title__copy{min-width:0}.app-eyebrow{display:block;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)}.app-brand h1,.app-chat-title h2{margin:0;overflow:hidden;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}.app-thread-list{display:flex;min-height:0;flex:1;flex-direction:column;gap:var(--space-1);overflow:auto;padding:var(--space-2)}.app-thread-actions{display:grid;gap:var(--space-2);padding:var(--space-2) var(--space-2) 0}.app-new-thread{margin:var(--space-2)}.app-new-thread__form{display:grid;gap:var(--space-2)}.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{display:grid;min-width:0;min-height:0;grid-template-rows:auto minmax(0,1fr) auto;background:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px),var(--bg-canvas);background-size:36px 36px}.app-admin{display:grid;min-width:0;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr);gap:var(--space-4);overflow:auto;padding:var(--space-5);background:var(--bg-canvas)}.app-admin__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-admin__header h2,.app-admin__panel h3{margin:0;color:var(--text-primary);font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--lh-snug)}.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-admin__error{border-color:color-mix(in srgb,var(--danger) 30%,var(--border-subtle));color:var(--text-primary)}.app-admin__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);align-content:start}.app-admin__panel{display:grid;gap:var(--space-4)}.app-admin__panel-slot--wide{grid-column:1 / -1}.app-admin__panel-heading{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3)}.app-admin__form{display:grid;gap:var(--space-3)}.app-admin__table-wrap{min-width:0;overflow:auto}.app-admin__table{width:100%;border-collapse:collapse;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-topbar{background:color-mix(in srgb,var(--bg-surface) 90%,transparent)}.app-chat-title__row{display:flex;min-width:0;align-items:center;gap:var(--space-2)}.app-presence{display:flex;align-items:center;gap:var(--space-1);color:var(--text-tertiary);font-size:var(--fs-body-sm);line-height:var(--lh-tight)}.app-presence svg{width:15px;height:15px}.app-topbar__actions{display:flex;align-items:center;gap:var(--space-1)}.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{display:inline-flex;align-items:center;gap:var(--space-2)}.app-call-people-list{display:grid;max-height:360px;gap:var(--space-2);overflow:auto}.app-call-person-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2);background:var(--bg-surface)}.app-call-incoming,.app-call-screen,.app-call-audio-stage{display:grid;place-items:center;gap:var(--space-4)}.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-video-grid{display:grid;width:100%;grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:var(--space-3)}.app-call-video-tile{display:grid;min-height:120px;place-items:center;overflow:hidden;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-canvas)}.app-call-video-tile:first-child{min-height:280px}.app-call-video-tile video{width:100%;height:100%;object-fit:cover}.app-people-dialog{display:grid;gap:var(--space-4)}.app-people-list{display:grid;max-height:320px;gap:var(--space-2);overflow:auto}.app-person-option{display:inline-flex;min-width:0;align-items:center;gap:var(--space-2)}.app-person-option span:last-child{overflow:hidden;text-overflow:ellipsis}.app-people-empty{margin:0;color:var(--text-tertiary);font-size:var(--fs-body-sm);line-height:var(--lh-normal)}.app-icon-button{display:inline-flex;width:36px;height:36px;flex:none;align-items:center;justify-content:center;border:0;border-radius:var(--radius-md);background:transparent;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)}.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{display:flex;min-height:0;flex-direction:column;gap:var(--space-1);overflow:auto;padding:var(--space-6) clamp(var(--space-4),5vw,var(--space-12))}.app-composer-area{position:relative;min-width:0}.app-upload-status,.app-upload-error,.app-encryption-notice{position:absolute;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)}.app-upload-error{border-color:color-mix(in srgb,var(--danger) 30%,var(--border-subtle));color:var(--text-primary)}.app-encryption-notice{max-width:min(28rem,80vw);border-color:color-mix(in srgb,var(--accent, var(--text-secondary)) 30%,var(--border-subtle))}.app-message-content{display:grid;gap:var(--space-2)}.app-attachment{color:inherit}.app-attachment--image{display:block;max-width:min(320px,100%)}.app-attachment--image img{display:block;max-width:100%;max-height:260px;border-radius:var(--radius-lg);object-fit:cover}.app-attachment--file{display:flex;min-width:min(260px,100%);max-width:340px;align-items:center;justify-content:space-between;gap:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--bg-surface-2) 86%,transparent);text-decoration:none}.app-attachment--file:hover{background:var(--bg-hover)}.app-attachment__name{min-width:0;overflow:hidden;font-weight:var(--fw-semibold);text-overflow:ellipsis;white-space:nowrap}.app-attachment__size{flex:none;color:var(--text-tertiary);font-family:var(--font-mono);font-size:var(--fs-caption)}.app-emoji-picker{position:absolute;right:var(--space-3);bottom:calc(100% + var(--space-2));z-index:5;width:min(464px,calc(100vw - 24px))}.app-emoji-picker__content{display:grid;gap:var(--space-3)}.app-emoji-picker .ev-tabs{max-width:100%;overflow-x:auto}.app-emoji-grid{display:grid;max-height:260px;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:var(--space-1);overflow:auto}.app-emoji-option{display:inline-flex;width:100%;aspect-ratio:1;align-items:center;justify-content:center;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);cursor:pointer;font-family:var(--font-sans);font-size:23px;line-height:1;transition:background var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.app-emoji-option:hover,.app-emoji-option:focus-visible{outline:none;background:var(--bg-hover)}.app-emoji-option:focus-visible{box-shadow:var(--shadow-focus)}.app-emoji-option:active{transform:scale(var(--press-scale))}@media (max-width: 760px){.app-shell{grid-template-columns:1fr}.app-sidebar,.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}}
