:root{--brand-50: #edf4ff;--brand-100: #dbe7ff;--brand-200: #b8cefe;--brand-300: #8faffd;--brand-400: #5b8bfd;--brand-500: #246bfd;--brand-600: #1f5ee0;--brand-700: #1a4fbf;--brand-800: #163f97;--brand-900: #172c4b;--brand-gradient: linear-gradient(135deg, #246bfd 0%, #168ddc 48%, #16c5ad 100%);--brand-teal: #16c5ad;--brand-mid: #168ddc;--brand-deep-teal: #0c766f;--n-0: #ffffff;--n-25: #fcfdfe;--n-50: #f8fafc;--n-100: #f3f7fa;--n-150: #eaeff5;--n-200: #dfe6ef;--n-300: #c8d2e0;--n-400: #9aa7b8;--n-500: #6b7a8f;--n-600: #536378;--n-700: #3a4a63;--n-800: #24344f;--n-900: #172c4b;--success: #067647;--success-bg: #ecfdf5;--success-border: #a7e3c8;--warning: #b54708;--warning-bg: #fffaeb;--warning-border: #fedf89;--danger: #b42318;--danger-bg: #fef3f2;--danger-border: #fecdca;--info: var(--brand-500);--info-bg: var(--brand-50);--info-border: var(--brand-200);--canvas: var(--n-0);--surface: var(--n-0);--surface-sunken: var(--n-100);--surface-hover: var(--n-50);--border: var(--n-200);--border-strong: var(--n-300);--text: var(--n-900);--text-secondary: var(--n-600);--text-muted: var(--n-500);--accent: var(--brand-500);--accent-hover: var(--brand-600);--accent-soft: var(--brand-50);--accent-border: var(--brand-200);--on-accent: #ffffff;--focus: var(--brand-500);--font-sans: Inter, "Avenir Next", "Helvetica Neue", system-ui, -apple-system, Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.25rem;--s-6: 1.5rem;--s-8: 2rem;--s-10: 2.5rem;--s-12: 3rem;--r-sm: 6px;--r-md: 8px;--r-lg: 12px;--r-xl: 16px;--r-full: 999px;--shadow-xs: 0 1px 2px rgb(26 22 19 / .04);--shadow-sm: 0 1px 3px rgb(26 22 19 / .06), 0 1px 2px rgb(26 22 19 / .04);--shadow-md: 0 4px 12px rgb(26 22 19 / .08), 0 1px 3px rgb(26 22 19 / .04);--shadow-lg: 0 12px 32px rgb(26 22 19 / .12), 0 4px 8px rgb(26 22 19 / .05);--ease: cubic-bezier(.2, 0, .2, 1);--t-fast: .12s;--t-base: .18s;--sidebar-w: 240px;--brand-accent: var(--accent);--brand-background: var(--canvas);--brand-surface: var(--surface);--brand-text: var(--text);--brand-radius: var(--r-lg);--brand-font: var(--font-sans);color-scheme:light dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--n-0: #16203a;--n-25: #141d34;--n-50: #10192e;--n-100: #1b2645;--n-150: #212e51;--n-200: #2a3860;--n-300: #3a4a76;--n-400: #7080a0;--n-500: #94a2bd;--n-600: #b4c0d6;--n-700: #cfd8e8;--n-800: #e4eaf4;--n-900: #f2f6fc;--canvas: #0b1327;--surface: var(--n-0);--surface-sunken: var(--n-100);--surface-hover: var(--n-150);--border: var(--n-200);--border-strong: var(--n-300);--accent: var(--brand-300);--accent-hover: var(--brand-200);--accent-soft: #16244a;--accent-border: #24386e;--on-accent: #0b1327;--focus: var(--brand-300);--success: #6ee7a3;--success-bg: #0d2620;--success-border: #1c4437;--warning: #f0bb7a;--warning-bg: #2a2013;--warning-border: #4a3821;--danger: #f6a9a2;--danger-bg: #2d1a1a;--danger-border: #4f2b29;--info: var(--brand-300);--info-bg: #16244a;--info-border: #24386e;--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 1px 3px rgb(0 0 0 / .35);--shadow-md: 0 4px 12px rgb(0 0 0 / .4);--shadow-lg: 0 12px 32px rgb(0 0 0 / .5)}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;line-height:1.25;letter-spacing:-.011em;font-weight:600;color:var(--text)}h1{font-size:var(--text-2xl);letter-spacing:-.02em}h2{font-size:var(--text-xl);letter-spacing:-.015em}h3{font-size:var(--text-md)}h4{font-size:var(--text-base)}p{margin:0 0 var(--s-3)}p:last-child{margin-bottom:0}a{color:var(--accent);text-decoration-color:color-mix(in srgb,currentColor 35%,transparent);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-sm)}::selection{background:var(--accent-soft);color:var(--text)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.row{display:flex;gap:var(--s-2);align-items:center;flex-wrap:wrap}.row--between{justify-content:space-between}.row--end{justify-content:flex-end}.stack{display:flex;flex-direction:column;gap:var(--s-4)}.spacer{flex:1}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.muted{color:var(--text-muted)}.text-sm{font-size:var(--text-sm)}.shell{height:100dvh;overflow-y:auto;display:flex;flex-direction:column}.app{height:100dvh;display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);background:var(--canvas)}.app__main{min-width:0;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.sidebar{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-4) var(--s-3);background:var(--surface);border-right:1px solid var(--border);min-height:0;overflow-y:auto}.sidebar__brand{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-2) var(--s-4);font-weight:600;font-size:var(--text-md);color:var(--text);text-decoration:none;letter-spacing:-.015em}.sidebar__mark{display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-md);background:var(--accent);color:var(--on-accent);flex:none}.sidebar__label{padding:var(--s-4) var(--s-2) var(--s-1);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.navlink{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);border-radius:var(--r-md);color:var(--text-secondary);text-decoration:none;font-size:var(--text-base);font-weight:500;transition:background var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.navlink:hover{background:var(--surface-hover);color:var(--text)}.navlink svg{flex:none;color:var(--text-muted);transition:color var(--t-fast) var(--ease)}.navlink:hover svg{color:var(--text-secondary)}.navlink.is-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.navlink.is-active svg{color:var(--accent)}.sidebar__footer{margin-top:auto;padding-top:var(--s-4);border-top:1px solid var(--border)}.sidebar__account{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-3);min-width:0}.sidebar__email{min-width:0;font-size:var(--text-sm);color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-full);background:var(--accent-soft);color:var(--accent);font-size:var(--text-sm);font-weight:600;border:1px solid var(--accent-border)}.avatar--lg{width:56px;height:56px;font-size:var(--text-lg)}.mobilebar,.tabbar{display:none}.page{width:100%;max-width:880px;margin:0 auto;padding:var(--s-8) var(--s-6) var(--s-12);flex:1}.page--narrow{max-width:460px}.page--wide{max-width:1080px}.page--flush{padding-top:0;padding-bottom:0;flex:none}.page__header{display:flex;align-items:flex-start;gap:var(--s-4);margin-bottom:var(--s-6)}.page__header .spacer{flex:1}.page__title{min-width:0}.page__title h1{letter-spacing:-.025em}.page__title p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-base)}.btn{--btn-bg: var(--surface);--btn-fg: var(--text);--btn-border: var(--border-strong);--btn-bg-hover: var(--surface-hover);display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);padding:0 var(--s-4);height:38px;border-radius:var(--r-md);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-size:var(--text-base);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}.btn:hover{background:var(--btn-bg-hover)}.btn:active{transform:translateY(.5px)}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;transform:none}.btn--primary{--btn-bg: var(--accent);--btn-bg-hover: var(--accent-hover);--btn-fg: var(--on-accent);--btn-border: transparent;box-shadow:var(--shadow-xs)}.btn--ghost{--btn-bg: transparent;--btn-bg-hover: var(--surface-hover);--btn-border: transparent;--btn-fg: var(--text-secondary)}.btn--ghost:hover{--btn-fg: var(--text)}.btn--danger{--btn-bg: transparent;--btn-bg-hover: var(--danger-bg);--btn-fg: var(--danger);--btn-border: var(--danger-border)}.btn--sm{height:30px;padding:0 var(--s-3);font-size:var(--text-sm);gap:var(--s-1)}.btn--lg{height:46px;padding:0 var(--s-6);font-size:var(--text-md)}.btn--block{width:100%}.btn--icon{width:38px;padding:0;flex:none}.btn--icon.btn--sm{width:30px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-xs)}.card+.card{margin-top:var(--s-4)}.card__header{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-5) 0}.card__header .spacer{flex:1}.card__header h2,.card__header h3{min-width:0}.card__header p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.card__body{padding:var(--s-5)}.card__footer{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);background:var(--surface-sunken);border-radius:0 0 var(--r-lg) var(--r-lg)}.card__footer .spacer{flex:1}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field+.field{margin-top:var(--s-5)}.field__label{font-size:var(--text-sm);font-weight:600;color:var(--text)}.field__hint{font-size:var(--text-sm);color:var(--text-muted);margin:0}.field__error{font-size:var(--text-sm);color:var(--danger);display:flex;align-items:center;gap:var(--s-1)}input:not([type=checkbox],[type=radio],[type=color],[type=file],[type=range]),textarea,select{width:100%;padding:0 var(--s-3);height:38px;font:inherit;font-size:var(--text-base);color:var(--text);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-md);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-muted)}input:hover,textarea:hover,select:hover{border-color:var(--n-400)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 3px color-mix(in srgb,var(--focus) 18%,transparent)}textarea{height:auto;min-height:96px;padding:var(--s-3);resize:vertical;line-height:1.55}select{appearance:none;padding-right:var(--s-8);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a746c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s-3) center}.swatch{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2);border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface)}.swatch input[type=color]{width:34px;height:34px;padding:0;border:1px solid var(--border);border-radius:var(--r-sm);background:none;cursor:pointer;flex:none}.swatch input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.swatch input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.swatch code{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase}.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--s-4)}.filedrop{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-sm);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background var(--t-fast) var(--ease)}.filedrop:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.filedrop input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.badge{display:inline-flex;align-items:center;gap:var(--s-1);padding:2px var(--s-2);border-radius:var(--r-full);border:1px solid var(--border);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-xs);font-weight:600;line-height:1.6;white-space:nowrap}.badge--success{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge--warning{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.badge--danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.badge--accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.dot{width:6px;height:6px;border-radius:var(--r-full);background:currentColor;flex:none}.notice{display:flex;gap:var(--s-3);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-sunken);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55}.notice svg{flex:none;margin-top:1px;color:var(--text-muted)}.notice__body{min-width:0}.notice strong{display:block;margin-bottom:var(--s-1);color:var(--text);font-weight:600}.notice+.notice{margin-top:var(--s-3)}.notice--info{background:var(--info-bg);border-color:var(--info-border)}.notice--info svg{color:var(--info)}.notice--warn{background:var(--warning-bg);border-color:var(--warning-border)}.notice--warn svg{color:var(--warning)}.notice--danger{background:var(--danger-bg);border-color:var(--danger-border)}.notice--danger svg{color:var(--danger)}.notice--success{background:var(--success-bg);border-color:var(--success-border)}.notice--success svg{color:var(--success)}.disclosure{border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}.disclosure>summary{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);cursor:pointer;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);list-style:none;transition:background var(--t-fast) var(--ease)}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:hover{background:var(--surface-hover);color:var(--text)}.disclosure>summary .chev{margin-left:auto;transition:transform var(--t-base) var(--ease);color:var(--text-muted)}.disclosure[open]>summary .chev{transform:rotate(180deg)}.disclosure__body{padding:0 var(--s-4) var(--s-4);display:flex;flex-direction:column;gap:var(--s-3)}.toasts{position:fixed;z-index:60;bottom:var(--s-5);right:var(--s-5);display:flex;flex-direction:column;gap:var(--s-2);pointer-events:none;max-width:min(380px,calc(100vw - var(--s-8)))}.toast{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-lg);font-size:var(--text-sm);color:var(--text);pointer-events:auto;animation:toast-in var(--t-base) var(--ease)}.toast svg{flex:none;margin-top:1px}.toast--success{border-color:var(--success-border)}.toast--success svg{color:var(--success)}.toast--error{border-color:var(--danger-border)}.toast--error svg{color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px) scale(.98)}}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--s-4);background:#1a161366;backdrop-filter:blur(2px);animation:fade-in var(--t-base) var(--ease)}.modal{width:100%;max-width:520px;max-height:min(86dvh,720px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);animation:modal-in var(--t-base) var(--ease)}.modal--wide{max-width:640px}.modal__header{display:flex;align-items:flex-start;gap:var(--s-3);padding:var(--s-5) var(--s-5) var(--s-3)}.modal__header .spacer{flex:1}.modal__header p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-sm)}.modal__body{padding:0 var(--s-5) var(--s-5);overflow-y:auto}.modal__footer{display:flex;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);background:var(--surface-sunken);border-radius:0 0 var(--r-xl) var(--r-xl)}.modal__footer .spacer{flex:1}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3);padding:var(--s-12) var(--s-6);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface)}.empty__icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--r-lg);background:var(--accent-soft);color:var(--accent);margin-bottom:var(--s-1)}.empty h3{margin:0}.empty p{margin:0;max-width:42ch;color:var(--text-secondary);font-size:var(--text-base)}.spinner{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:var(--r-full);animation:spin .6s linear infinite;vertical-align:-2px}@keyframes spin{to{transform:rotate(360deg)}}.loading{display:flex;align-items:center;justify-content:center;gap:var(--s-3);padding:var(--s-12);color:var(--text-muted);font-size:var(--text-base)}.skeleton{border-radius:var(--r-md);background:linear-gradient(90deg,var(--surface-sunken) 25%,var(--n-150) 37%,var(--surface-sunken) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.conv-list{display:flex;flex-direction:column;gap:var(--s-2)}.conversation-item{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4);border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);text-decoration:none;color:inherit;box-shadow:var(--shadow-xs);transition:border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease),transform var(--t-fast) var(--ease)}a.conversation-item:hover{border-color:var(--accent-border);box-shadow:var(--shadow-sm)}a.conversation-item:active{transform:translateY(.5px)}.conversation-item--muted{background:var(--surface-sunken);box-shadow:none}.conversation-item__main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.conversation-item__name{font-weight:600;font-size:var(--text-base);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-item__meta{display:flex;align-items:center;gap:var(--s-2);flex-wrap:wrap;font-size:var(--text-sm);color:var(--text-muted)}.conversation-item__meta .sep{opacity:.5}.chat{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--brand-background);color:var(--brand-text);font-family:var(--brand-font)}.chat__header{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);padding-top:max(var(--s-3),env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--brand-surface);flex:none}.chat__identity{display:flex;align-items:center;gap:var(--s-3);min-width:0;flex:1}.chat__title{min-width:0;display:flex;flex-direction:column;line-height:1.3}.chat__title strong{font-weight:600;font-size:var(--text-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat__title small{font-size:var(--text-xs);color:var(--text-muted)}.chat__countdown{display:inline-flex;align-items:center;gap:var(--s-1);font-size:var(--text-xs);font-weight:600;color:var(--text-secondary);background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--r-full);padding:3px var(--s-2);white-space:nowrap}.chat__countdown--soon{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning)}.chat__status{display:flex;align-items:center;gap:var(--s-2);padding:var(--s-2) var(--s-4);font-size:var(--text-xs);color:var(--text-muted);background:var(--surface-sunken);border-bottom:1px solid var(--border);flex:none}.chat__messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--s-4);display:flex;flex-direction:column;gap:var(--s-1)}.chat__daysep{align-self:center;margin:var(--s-3) 0;padding:2px var(--s-3);border-radius:var(--r-full);background:var(--surface-sunken);border:1px solid var(--border);font-size:var(--text-xs);font-weight:600;color:var(--text-muted)}.bubble{position:relative;max-width:min(76%,560px);padding:var(--s-2) var(--s-3);border-radius:var(--brand-radius);background:var(--brand-surface);border:1px solid var(--border);align-self:flex-start;overflow-wrap:anywhere;font-size:var(--text-base);line-height:1.5;box-shadow:var(--shadow-xs);animation:bubble-in var(--t-base) var(--ease)}@keyframes bubble-in{0%{opacity:0;transform:translateY(3px)}}.bubble+.bubble{margin-top:2px}.bubble--mine{align-self:flex-end;background:var(--brand-accent);color:var(--on-accent);border-color:transparent}.bubble--unreadable{background:var(--warning-bg);border-color:var(--warning-border);color:var(--text);font-style:italic;display:flex;align-items:center;gap:var(--s-2)}.bubble__meta{display:flex;align-items:center;gap:var(--s-2);margin-top:var(--s-1);font-size:var(--text-xs);opacity:.7}.bubble__translation{margin-top:var(--s-2);padding-top:var(--s-2);border-top:1px solid color-mix(in srgb,currentColor 22%,transparent);font-size:var(--text-sm)}.bubble img,.bubble video{max-width:100%;border-radius:var(--r-md);display:block;margin-top:var(--s-2)}.bubble audio{margin-top:var(--s-2);width:100%;max-width:280px}.bubble__file{display:flex;align-items:center;gap:var(--s-3)}.bubble__fileicon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:var(--r-md);background:color-mix(in srgb,currentColor 12%,transparent)}.bubble__filename{font-weight:600;overflow:hidden;text-overflow:ellipsis}.chat__composer{display:flex;gap:var(--s-2);align-items:flex-end;padding:var(--s-3) var(--s-4);padding-bottom:max(var(--s-3),env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--brand-surface);flex:none}.chat__composer textarea{flex:1;min-height:38px;max-height:140px;resize:none;border-radius:var(--r-lg);padding:var(--s-2) var(--s-3)}.chat__tools{display:flex;gap:var(--s-1);flex:none}.recording{color:var(--danger);border-color:var(--danger-border);background:var(--danger-bg);animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.6}}.secret-link{position:relative;display:block;width:100%;text-align:left;font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:var(--s-3);word-break:break-all;color:var(--text);filter:blur(6px);cursor:pointer;transition:filter var(--t-base) var(--ease);user-select:none}.secret-link--revealed{filter:none;user-select:all;cursor:text}.secret-link__hint{position:absolute;inset:0;display:grid;place-items:center;filter:none;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary)}.media-strip{display:flex;gap:var(--s-2);flex-wrap:wrap}.media-strip img,.media-strip video{width:104px;height:104px;object-fit:cover;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-sunken)}.media-tile{position:relative}.media-tile .btn{position:absolute;top:var(--s-1);right:var(--s-1);background:var(--surface);opacity:0;transition:opacity var(--t-fast) var(--ease)}.media-tile:hover .btn,.media-tile:focus-within .btn{opacity:1}.draft{margin-top:var(--s-4);padding:var(--s-4);border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-sunken);display:flex;flex-direction:column;gap:var(--s-4)}.draft__title{font-size:.8125rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0}.draft__fields{display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:var(--s-2) var(--s-4);margin:0}.draft__fields dt{font-size:.875rem;font-weight:600;color:var(--text-muted)}.draft__fields dd{margin:0;font-size:.9375rem;white-space:pre-wrap}@media(max-width:40rem){.draft__fields{grid-template-columns:minmax(0,1fr);gap:var(--s-1)}.draft__fields dd{margin-bottom:var(--s-2)}}.draft__notes ul{margin:var(--s-1) 0 0;padding-left:var(--s-4)}.draft__actions{display:flex;align-items:center;gap:var(--s-3);flex-wrap:wrap}.draft__branding{display:flex;flex-direction:column;align-items:flex-start;gap:var(--s-2);padding-top:var(--s-4);border-top:1px solid var(--border)}.draft__swatches{display:flex;flex-wrap:wrap;gap:var(--s-2)}.draft__swatch{display:inline-flex;align-items:center;gap:var(--s-2);font-size:.8125rem;color:var(--text-muted);padding:var(--s-1) var(--s-2);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.draft__swatch span{width:1rem;height:1rem;border-radius:4px;border:1px solid var(--border-strong)}.draft__images{margin-top:var(--s-4);display:flex;flex-direction:column;gap:var(--s-2)}.draft__images .media-tile .btn{position:static;opacity:1;margin-top:var(--s-1);width:104px;justify-content:center}.media-tile__done{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-1);width:104px;margin-top:var(--s-1);font-size:.8125rem;color:var(--success)}.hero{padding:var(--s-10) 0 var(--s-6);display:grid;gap:var(--s-8);grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:62rem){.hero{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:var(--s-12)}}.hero__lead{min-width:0}.hero h1{font-size:clamp(2.125rem,6vw,3.25rem);line-height:1.04;letter-spacing:-.035em;margin-bottom:var(--s-5)}.hero h1 span{display:block}.hero h1 .is-accent{color:var(--accent)}.hero p{max-width:46ch;margin:0 0 var(--s-3);color:var(--text-secondary);font-size:var(--text-md);line-height:1.6}.hero__actions{display:flex;gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap}.logo{display:inline-flex;align-items:center;gap:10px}.masthead{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:var(--s-5) 0 var(--s-2)}.masthead a{text-decoration:none;color:inherit}.masthead__links{display:flex;align-items:center;gap:var(--s-4);font-size:var(--text-sm)}.tile{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--surface-sunken);border:1px solid var(--border);color:var(--accent)}.tile--sm{width:34px;height:34px;border-radius:11px}.tile--lg{width:56px;height:56px;border-radius:18px}.tile--accent{background:var(--accent-soft);border-color:var(--accent-border)}.tile--muted{color:var(--text-muted)}.features{display:grid;gap:var(--s-6);list-style:none;padding:0;margin:0}.feature{display:flex;gap:var(--s-4);align-items:flex-start}.feature__text{min-width:0}.feature__title{margin:0 0 4px;font-size:var(--text-md);font-weight:600;color:var(--accent);letter-spacing:-.01em}.feature__body{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6}.pill{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:var(--surface-sunken);border:1px solid var(--border);color:var(--text-secondary);font-size:var(--text-sm);line-height:1.5}.pill--accent{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.flow{display:flex;align-items:flex-start;gap:var(--s-4);list-style:none;padding:0;margin:0;flex-wrap:wrap}.flow__step{flex:1 1 12rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-3)}.flow__title{margin:0;font-size:var(--text-base);font-weight:600}.flow__body{margin:0;color:var(--text-secondary);font-size:var(--text-sm);line-height:1.55;max-width:24ch}.flow__arrow{flex:none;align-self:flex-start;margin-top:18px;color:var(--border-strong);list-style:none}@media(max-width:48rem){.flow__arrow{display:none}}.ring{display:grid;place-items:center;justify-self:center}.ring svg{display:block;overflow:visible}.ring__track{fill:none;stroke:var(--border);stroke-width:2}.ring__ticks{stroke:var(--brand-300);stroke-width:2;stroke-linecap:round}.ring__arc{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round}.ring__value{font-size:34px;font-weight:700;letter-spacing:-.03em;fill:var(--text)}.ring__label{font-size:12px;fill:var(--text-muted)}.section-title{margin:var(--s-10) 0 var(--s-5);font-size:var(--text-xl);letter-spacing:-.02em}.carries{display:flex;flex-wrap:wrap;gap:var(--s-4) var(--s-6);list-style:none;padding:0;margin:0}.carries li{display:inline-flex;align-items:center;gap:var(--s-2);font-size:var(--text-sm);color:var(--text-secondary)}.landing__close{margin-top:var(--s-10);display:grid;gap:var(--s-3)}.profile-hero{display:flex;align-items:center;gap:var(--s-4);margin-bottom:var(--s-5)}.profile-hero__text{min-width:0}.profile-hero h1{font-size:var(--text-xl);margin:0}.profile-hero p{margin:var(--s-1) 0 0;color:var(--text-secondary);font-size:var(--text-base)}.trust-strip{display:flex;gap:var(--s-2);flex-wrap:wrap}.trust-strip span{display:inline-flex;align-items:center;gap:var(--s-2);padding:var(--s-1) var(--s-3);border-radius:var(--r-full);background:var(--accent-soft);border:1px solid var(--accent-border);color:var(--accent);font-size:var(--text-sm);font-weight:500}@media(max-width:900px){:root{--sidebar-w: 0px}.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto}.sidebar{display:none}.mobilebar{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-3) var(--s-4);padding-top:max(var(--s-3),env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border)}.mobilebar__brand{display:flex;align-items:center;gap:var(--s-2);font-weight:600;color:var(--text);text-decoration:none}.tabbar{display:flex;background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--s-2) var(--s-1);font-size:var(--text-xs);font-weight:500;color:var(--text-muted);text-decoration:none;transition:color var(--t-fast) var(--ease);min-height:52px;justify-content:center}.tabbar a.is-active{color:var(--accent);font-weight:600}.app--immersive{grid-template-rows:minmax(0,1fr)}.app--immersive .mobilebar,.app--immersive .tabbar{display:none}.page{padding:var(--s-5) var(--s-4) var(--s-10)}.bubble{max-width:86%}.toasts{left:var(--s-4);right:var(--s-4);bottom:var(--s-4);max-width:none}.modal{max-height:92dvh}}@media(max-width:520px){.page__header{flex-direction:column;gap:var(--s-3)}.page__header .btn{width:100%}.card__header,.card__body{padding-left:var(--s-4);padding-right:var(--s-4)}.card__footer{padding-left:var(--s-4);padding-right:var(--s-4);flex-wrap:wrap}.chat__messages{padding:var(--s-3)}.chat__composer{padding:var(--s-2) var(--s-3)}.hero{padding-top:var(--s-8)}}.join{padding-top:var(--s-6)}.join__hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-2);margin-bottom:var(--s-5)}.join__portrait{width:112px;height:112px;border-radius:var(--r-full);object-fit:cover;border:3px solid var(--surface);box-shadow:var(--shadow-md);margin-bottom:var(--s-2);background:var(--surface-sunken)}.join__portrait--fallback{display:grid;place-items:center;font-size:2.5rem;font-weight:600;color:var(--accent);background:var(--accent-soft);border-color:var(--accent-border)}.join__invited{margin:0;font-size:var(--text-sm);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.join__hero h1{margin:0;font-size:var(--text-2xl)}.join__headline{margin:0;font-size:var(--text-md);color:var(--accent);font-weight:500}.join__bio{margin:var(--s-2) 0 0;max-width:46ch;color:var(--text-secondary);font-size:var(--text-base);line-height:1.6}.join__media{justify-content:center;margin-bottom:var(--s-5)}@media(max-width:520px){.join{padding-top:var(--s-5)}.join__portrait{width:92px;height:92px}.join__hero h1{font-size:var(--text-xl)}.join .btn--lg{height:52px;font-size:var(--text-md)}.join input[type=text]{height:46px;font-size:var(--text-md)}.trust-strip{justify-content:center;gap:var(--s-3)}}@media(prefers-color-scheme:dark){[data-interface]:not([data-scheme=light]){--ui-app-background: var(--ui-app-background-dark);--ui-sidebar-background: var(--ui-sidebar-background-dark);--ui-header-background: var(--ui-header-background-dark);--ui-chat-background: var(--ui-chat-background-dark);--ui-chat-background-pattern: var(--ui-chat-background-pattern-dark);--ui-composer-background: var(--ui-composer-background-dark);--ui-input-background: var(--ui-input-background-dark);--ui-overlay-background: var(--ui-overlay-background-dark);--ui-incoming-bubble: var(--ui-incoming-bubble-dark);--ui-incoming-bubble-text: var(--ui-incoming-bubble-text-dark);--ui-outgoing-bubble: var(--ui-outgoing-bubble-dark);--ui-outgoing-bubble-text: var(--ui-outgoing-bubble-text-dark);--ui-quote-background: var(--ui-quote-background-dark);--ui-quote-accent: var(--ui-quote-accent-dark);--ui-text-primary: var(--ui-text-primary-dark);--ui-text-secondary: var(--ui-text-secondary-dark);--ui-text-meta: var(--ui-text-meta-dark);--ui-text-on-accent: var(--ui-text-on-accent-dark);--ui-border: var(--ui-border-dark);--ui-divider: var(--ui-divider-dark);--ui-icon: var(--ui-icon-dark);--ui-icon-active: var(--ui-icon-active-dark);--ui-accent: var(--ui-accent-dark);--ui-accent-hover: var(--ui-accent-hover-dark);--ui-hover: var(--ui-hover-dark);--ui-selected: var(--ui-selected-dark);--ui-unread-badge: var(--ui-unread-badge-dark);--ui-unread-badge-text: var(--ui-unread-badge-text-dark);--ui-tick-read: var(--ui-tick-read-dark);--ui-system-bubble: var(--ui-system-bubble-dark);--ui-system-bubble-text: var(--ui-system-bubble-text-dark);--ui-danger: var(--ui-danger-dark);--ui-panel-shadow: var(--ui-panel-shadow-dark)}}.msgr{height:100dvh;display:flex;flex-direction:column;background:var(--ui-app-background);color:var(--ui-text-primary);font-family:var(--ui-font-family);font-size:14.2px;line-height:1.4;overflow:hidden}.msgr__frame{flex:1;min-height:0;display:grid;grid-template-columns:var(--ui-sidebar-width) minmax(0,1fr);background:var(--ui-sidebar-background);border-top:1px solid var(--ui-border)}@media(min-width:1441px){.msgr{padding:19px 0 0}.msgr__frame{width:min(1636px,100%);margin:0 auto;box-shadow:0 6px 18px #0b141a0d}}.msgr__sidebar{display:flex;flex-direction:column;min-height:0;background:var(--ui-sidebar-background);border-right:1px solid var(--ui-border)}.sidebar-head{display:flex;align-items:center;gap:10px;height:var(--ui-header-height);padding:0 16px;background:var(--ui-header-background);flex:none}.sidebar-head__actions{margin-left:auto;display:flex;align-items:center;gap:2px;position:relative}.sidebar-search{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--ui-sidebar-background);border-bottom:1px solid var(--ui-divider);flex:none}.sidebar-search__box{flex:1;display:flex;align-items:center;gap:12px;height:35px;padding:0 12px;border-radius:8px;background:var(--ui-hover);color:var(--ui-text-secondary)}.sidebar-search__box:focus-within{background:var(--ui-input-background);box-shadow:inset 0 0 0 1px var(--ui-border)}.sidebar-search__box input{flex:1;min-width:0;border:none;outline:none;background:none;font:inherit;font-size:14px;color:var(--ui-text-primary);height:100%;padding:0}.sidebar-search__box input::placeholder{color:var(--ui-text-secondary)}.sidebar-filters{display:flex;gap:8px;padding:8px 12px;overflow-x:auto;scrollbar-width:none;flex:none;border-bottom:1px solid var(--ui-divider)}.sidebar-filters::-webkit-scrollbar{display:none}.chip{border:none;cursor:pointer;font:inherit;font-size:13.5px;padding:5px 12px;border-radius:999px;background:var(--ui-hover);color:var(--ui-text-secondary);white-space:nowrap;transition:background .12s ease,color .12s ease}.chip:hover{background:var(--ui-selected)}.chip.is-active{background:color-mix(in srgb,var(--ui-accent) 18%,transparent);color:var(--ui-accent);font-weight:500}.conv-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.conv-row{display:flex;align-items:center;gap:15px;height:var(--ui-row-height);padding:0 15px;cursor:pointer;border:none;background:none;width:100%;text-align:left;font:inherit;color:inherit;text-decoration:none;transition:background 90ms ease}.conv-row:hover{background:var(--ui-hover)}.conv-row.is-selected{background:var(--ui-selected)}.conv-row__body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:2px;height:100%;border-bottom:1px solid var(--ui-divider);padding-right:2px}.conv-row:last-child .conv-row__body{border-bottom:none}.conv-row__top,.conv-row__bottom{display:flex;align-items:center;gap:8px}.conv-row__name{flex:1;min-width:0;font-size:16px;color:var(--ui-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-row__time{font-size:12px;color:var(--ui-text-secondary);white-space:nowrap;flex:none}.conv-row.has-unread .conv-row__time{color:var(--ui-unread-badge)}.conv-row__preview{flex:1;min-width:0;display:flex;align-items:center;gap:4px;font-size:14px;color:var(--ui-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-row.has-unread .conv-row__name{font-weight:500}.conv-row__badges{display:flex;align-items:center;gap:6px;flex:none}.unread-badge{min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ui-unread-badge);color:var(--ui-unread-badge-text);font-size:12px;font-weight:500;display:grid;place-items:center;line-height:1}.av{--size: 49px;width:var(--size);height:var(--size);flex:none;border-radius:var(--ui-avatar-radius);display:grid;place-items:center;background:color-mix(in srgb,var(--ui-icon) 22%,transparent);color:var(--ui-sidebar-background);font-size:calc(var(--size) * .42);font-weight:500;overflow:hidden;user-select:none}.av--sm{--size: 40px}.av--xs{--size: 28px}.av--lg{--size: 200px}.av__presence{position:absolute}.ibtn{width:40px;height:40px;display:grid;place-items:center;border:none;border-radius:50%;background:none;color:var(--ui-icon);cursor:pointer;flex:none;transition:background .12s ease,color .12s ease}.ibtn:hover{background:color-mix(in srgb,var(--ui-icon) 12%,transparent);color:var(--ui-icon-active)}.ibtn:disabled{opacity:.4;cursor:not-allowed}.ibtn.is-active{color:var(--ui-accent)}.ibtn--sm{width:32px;height:32px}.msgr__chat{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;background:var(--ui-chat-background)}.msgr__chat:before{content:"";position:absolute;inset:0;background-image:var(--ui-chat-background-pattern);background-repeat:repeat;pointer-events:none;z-index:0}.chat-head{display:flex;align-items:center;gap:15px;height:var(--ui-header-height);padding:0 16px;background:var(--ui-header-background);border-left:1px solid var(--ui-border);flex:none;position:relative;z-index:2}.chat-head__id{display:flex;align-items:center;gap:15px;min-width:0;flex:1;cursor:pointer;background:none;border:none;font:inherit;color:inherit;text-align:left;padding:0}.chat-head__text{min-width:0;display:flex;flex-direction:column}.chat-head__name{font-size:16px;color:var(--ui-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head__status{font-size:13px;color:var(--ui-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-head__actions{display:flex;align-items:center;gap:2px;flex:none;position:relative}.msg-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 6% 8px;position:relative;z-index:1;display:flex;flex-direction:column;scroll-behavior:smooth}.msg-scroll__spacer{flex:1 0 auto}.msg-scroll::-webkit-scrollbar{width:10px}.msg-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--ui-icon) 30%,transparent);border-radius:6px}.msg-scroll::-webkit-scrollbar-track{background:transparent}.day-sep,.sys-msg{align-self:center;margin:12px 0;padding:5px 12px;border-radius:7.5px;background:var(--ui-system-bubble);color:var(--ui-system-bubble-text);font-size:12.5px;text-transform:uppercase;letter-spacing:.02em;box-shadow:var(--ui-bubble-shadow);text-align:center;max-width:90%}.sys-msg{text-transform:none;letter-spacing:0;line-height:1.45}.sys-msg--warn{background:var(--ui-system-bubble);color:var(--ui-danger);font-weight:500}.msg-row{display:flex;margin-top:2px;padding:0 4px}.msg-row--out{justify-content:flex-end}.msg-row.is-group-start{margin-top:12px}.bub{position:relative;max-width:var(--ui-bubble-max-width);min-width:68px;padding:6px 9px;border-radius:var(--ui-bubble-radius);background:var(--ui-incoming-bubble);color:var(--ui-incoming-bubble-text);box-shadow:var(--ui-bubble-shadow);font-size:14.2px;line-height:19px;overflow-wrap:anywhere;animation:bub-in .14s ease-out}@keyframes bub-in{0%{opacity:0;transform:translateY(2px)}}.msg-row--out .bub{background:var(--ui-outgoing-bubble);color:var(--ui-outgoing-bubble-text)}.msg-row.is-group-start .bub{border-top-left-radius:var(--ui-bubble-tail-radius)}.msg-row--out.is-group-start .bub{border-top-left-radius:var(--ui-bubble-radius);border-top-right-radius:var(--ui-bubble-tail-radius)}.bub__tail{position:absolute;top:0;width:8px;height:13px;color:var(--ui-incoming-bubble)}.msg-row--in .bub__tail{left:-8px}.msg-row--out .bub__tail{right:-8px;color:var(--ui-outgoing-bubble)}.bub__sender{display:block;font-size:12.8px;font-weight:500;margin-bottom:2px;color:var(--ui-quote-accent)}.bub__text{white-space:pre-wrap}.bub__text a{color:var(--ui-quote-accent);text-decoration:underline}.bub__meta{float:right;display:inline-flex;align-items:center;gap:3px;margin:6px 0 0 10px;font-size:11px;line-height:15px;color:var(--ui-text-meta);white-space:nowrap;user-select:none}.bub__meta .ticks{display:inline-flex}.ticks--read{color:var(--ui-tick-read)}.ticks--failed{color:var(--ui-danger)}.quote{display:flex;gap:8px;margin-bottom:4px;padding:5px 8px;border-radius:4px;background:var(--ui-quote-background);border-left:4px solid var(--ui-quote-accent);cursor:pointer;overflow:hidden}.quote__body{min-width:0;display:flex;flex-direction:column;gap:1px}.quote__who{font-size:12.8px;font-weight:500;color:var(--ui-quote-accent)}.quote__text{font-size:13px;color:var(--ui-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.newlink{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 13px;border-radius:999px;border:1px solid var(--ui-divider);background:var(--ui-input-background);color:var(--ui-text-primary);font:inherit;font-size:13.5px;font-weight:500;white-space:nowrap;cursor:pointer;transition:background .12s ease,border-color .12s ease}.newlink:hover:not(:disabled){background:var(--ui-hover)}.newlink:disabled{opacity:.6;cursor:default}.newlink--calling{border-color:var(--ui-accent);color:var(--ui-accent);animation:newlink-pulse 2.4s ease-in-out infinite}@keyframes newlink-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--ui-accent) 42%,transparent)}55%{box-shadow:0 0 0 7px color-mix(in srgb,var(--ui-accent) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.newlink--calling{animation:none}}.invite-row{display:flex;align-items:center;gap:6px;padding:6px 12px 6px 14px;border-bottom:1px solid var(--ui-divider)}.invite-row__main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:4px 0;border:none;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}.invite-row__glyph{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--ui-text-secondary);border:1px dashed var(--ui-divider)}.invite-row__text{min-width:0;display:flex;flex-direction:column;gap:1px}.invite-row__title{font-size:14px;color:var(--ui-text-secondary)}.invite-row__meta{font-size:12px;color:var(--ui-text-meta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-row__copy{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--ui-divider);background:none;color:var(--ui-text-secondary);font:inherit;font-size:12px;cursor:pointer;transition:background 90ms ease}.invite-row__copy:hover{background:var(--ui-hover);color:var(--ui-text-primary)}.bub--media{padding:3px 3px 8px;min-width:180px}.bub__media{position:relative;border-radius:6px;overflow:hidden;background:color-mix(in srgb,var(--ui-icon) 12%,transparent);display:block;max-width:330px}.bub__media img,.bub__media video{display:block;width:100%;max-height:420px;object-fit:cover}.bub__media--locked{display:grid;place-items:center;min-height:150px;gap:8px;padding:20px;text-align:center;color:var(--ui-text-secondary);font-size:13px;cursor:pointer}.bub__caption{padding:5px 6px 0;white-space:pre-wrap}.doc{display:flex;align-items:center;gap:12px;padding:10px;margin:2px 0 4px;border-radius:6px;background:color-mix(in srgb,var(--ui-icon) 10%,transparent);min-width:240px}.doc__icon{width:38px;height:44px;flex:none;display:grid;place-items:center;border-radius:4px;background:color-mix(in srgb,var(--ui-icon) 14%,transparent);color:var(--ui-danger)}.doc__body{min-width:0;flex:1}.doc__name{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc__meta{font-size:12px;color:var(--ui-text-meta);text-transform:uppercase}.voice{display:flex;align-items:center;gap:8px;min-width:240px;padding:2px 0}.voice__wave{flex:1;min-width:0;display:flex;align-items:center;gap:2px;height:27px;cursor:pointer}.voice__bar{flex:1;min-width:1.5px;border-radius:1px;background:color-mix(in srgb,var(--ui-text-meta) 55%,transparent);transition:background 80ms linear}.voice__bar.is-played{background:var(--ui-quote-accent)}.voice__time{font-size:11.5px;color:var(--ui-text-meta);white-space:nowrap}.composer{display:flex;align-items:flex-end;gap:8px;min-height:var(--ui-composer-min-height);padding:5px 16px;padding-bottom:max(5px,env(safe-area-inset-bottom));background:var(--ui-composer-background);flex:none;position:relative;z-index:2}.composer__field{flex:1;min-width:0;display:flex;align-items:flex-end;background:var(--ui-input-background);border-radius:8px;padding:9px 12px;margin:5px 0;transition:box-shadow .12s ease}.composer__field:focus-within{box-shadow:0 0 0 2px color-mix(in srgb,var(--ui-accent) 55%,transparent)}.composer__field textarea:focus-visible,.sidebar-search__box input:focus-visible{outline:none}.sidebar-search__box:focus-within{box-shadow:inset 0 0 0 1px var(--ui-border),0 0 0 2px color-mix(in srgb,var(--ui-accent) 45%,transparent)}.composer__field textarea{flex:1;min-width:0;border:none;outline:none;resize:none;background:none;font:inherit;font-size:15px;line-height:20px;color:var(--ui-text-primary);height:20px;min-height:20px;max-height:100px;padding:0;overflow-y:auto;display:block}.composer__field textarea::placeholder{color:var(--ui-text-secondary)}.composer__send{background:var(--ui-accent);color:var(--ui-text-on-accent)}.composer__send:hover{background:var(--ui-accent-hover);color:var(--ui-text-on-accent)}.composer__recording{flex:1;display:flex;align-items:center;gap:12px;padding:0 8px;color:var(--ui-text-secondary);font-size:14px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--ui-danger);animation:rec 1.2s steps(1,end) infinite}@keyframes rec{50%{opacity:.2}}.attach-menu{position:absolute;bottom:calc(100% + 6px);left:8px;z-index:20;min-width:214px;padding:8px 0;border-radius:12px;background:var(--ui-overlay-background);box-shadow:var(--ui-panel-shadow);animation:menu-in .11s ease-out}@keyframes menu-in{0%{opacity:0;transform:translateY(6px) scale(.97)}}.attach-menu button{display:flex;align-items:center;gap:18px;width:100%;padding:11px 22px;border:none;background:none;font:inherit;font-size:14.5px;color:var(--ui-text-primary);cursor:pointer;text-align:left}.attach-menu button:hover{background:var(--ui-hover)}.attach-menu__icon{width:22px;display:grid;place-items:center;flex:none}.emoji-panel{position:absolute;bottom:calc(100% + 6px);left:8px;z-index:20;width:300px;max-height:240px;overflow-y:auto;padding:10px;border-radius:12px;background:var(--ui-overlay-background);box-shadow:var(--ui-panel-shadow);display:grid;grid-template-columns:repeat(8,1fr);gap:2px;animation:menu-in .11s ease-out}.emoji-panel button{border:none;background:none;cursor:pointer;font-size:22px;line-height:1;padding:5px;border-radius:6px}.emoji-panel button:hover{background:var(--ui-hover)}.menu{position:absolute;top:calc(100% + 4px);right:8px;z-index:30;min-width:200px;padding:8px 0;border-radius:4px;background:var(--ui-overlay-background);box-shadow:var(--ui-panel-shadow);animation:menu-in .11s ease-out}.menu button,.menu a{display:flex;align-items:center;gap:14px;width:100%;padding:11px 24px;border:none;background:none;font:inherit;font-size:14.5px;color:var(--ui-text-primary);cursor:pointer;text-align:left;text-decoration:none}.menu button:hover,.menu a:hover{background:var(--ui-hover)}.menu hr{border:none;border-top:1px solid var(--ui-divider);margin:6px 0}.menu--danger{color:var(--ui-danger)}.no-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100%;padding:40px;text-align:center;background:var(--ui-header-background);border-left:1px solid var(--ui-border);border-bottom:6px solid var(--ui-accent)}.no-chat h2{font-size:32px;font-weight:300;color:var(--ui-text-secondary);margin:0}.no-chat p{max-width:460px;color:var(--ui-text-secondary);font-size:14px;margin:0}.no-chat__art{color:color-mix(in srgb,var(--ui-icon) 40%,transparent)}.conv-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 24px;text-align:center;color:var(--ui-text-secondary);font-size:14px}.chat-empty{align-self:center;margin:auto 0;max-width:420px;padding:14px 18px;border-radius:8px;background:var(--ui-system-bubble);color:var(--ui-system-bubble-text);font-size:13px;line-height:1.5;text-align:center;box-shadow:var(--ui-bubble-shadow)}.typing{display:inline-flex;gap:3px;align-items:center}.typing i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:typing 1.1s infinite ease-in-out}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@media(max-width:900px){.msgr{padding:0}.msgr__frame{grid-template-columns:minmax(0,1fr);border-top:none}.msgr__sidebar{border-right:none}.msgr--chat .msgr__sidebar{display:none}.msgr:not(.msgr--chat) .msgr__chat{display:none}.chat-head,.no-chat{border-left:none}.sidebar-head,.chat-head{padding-top:env(safe-area-inset-top);height:calc(var(--ui-header-height) + env(safe-area-inset-top))}.msg-scroll{padding:8px}.bub{max-width:85%}.composer{padding-left:8px;padding-right:8px}.attach-menu,.emoji-panel{left:4px}.emoji-panel{width:calc(100vw - 24px)}}@media(min-width:901px)and (max-width:1100px){.msgr__frame{grid-template-columns:340px minmax(0,1fr)}.bub{max-width:78%}}@media(prefers-reduced-motion:reduce){.msgr *,.msgr *:before,.msgr *:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.msg-scroll{scroll-behavior:auto}}
