:root{color-scheme:light;--brand:oklch(37% .061 171);--brand-hover:oklch(32% .061 171);--accent:oklch(49% .085 163);--ink:oklch(25% .024 166);--muted:oklch(47% .021 165);--line:oklch(91% .012 165);--surface:oklch(100% 0 0);--subtle:oklch(97% .006 165);--conversation:oklch(95% .012 158);--bubble:oklch(91% .046 155);--selected:oklch(94% .023 160);--danger:oklch(45% .15 25);--danger-soft:oklch(96% .018 25);--radius:10px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;color:var(--ink);background:var(--subtle)}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}button,a{touch-action:manipulation}button{color:inherit}a{color:var(--brand)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid oklch(58% .11 163);outline-offset:3px}button{border:0}h1,h2,p{margin:0}h1,h2{text-wrap:balance}input,textarea{min-width:0}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}[hidden]{display:none!important}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-button{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:transparent;border-radius:50%;color:var(--muted);transition:background 160ms,color 160ms}.icon-button:hover,.icon-button[aria-pressed=true]{background:var(--selected);color:var(--brand)}.primary{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:44px;border-radius:8px;background:var(--brand);padding:12px 20px;color:white;font-weight:600;line-height:1.3;text-decoration:none;transition:background 160ms}.primary:hover{background:var(--brand-hover)}.primary .icon{width:18px;height:18px}.primary.compact{min-height:36px;padding:8px 12px;font-size:.86rem}.text-button{color:var(--brand);background:transparent;padding:8px;border-radius:5px;font-weight:600}.text-button:hover{background:var(--selected)}
.boot-view{height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.boot-wordmark{font-family:Georgia,serif;font-size:4rem;color:var(--brand);letter-spacing:-.035em}.boot-view p{color:var(--muted)}
.login-view{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(360px,46%) 1fr}.login-brand{background:var(--brand);color:white;padding:54px 12%;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;min-height:100dvh}.wordmark{color:white;text-decoration:none;font:3.8rem/1 Georgia,serif;letter-spacing:-.04em;width:max-content}.wordmark span{display:block;font:10px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.2em;margin-top:13px}.login-intro{padding:70px 0}.intro-line{display:block;width:38px;height:2px;background:oklch(78% .054 163);margin-bottom:35px}.login-intro h1{font:3rem/1.2 Georgia,serif;letter-spacing:-.025em}.login-intro p{color:oklch(86% .022 164);font-size:1rem;line-height:1.8;margin-top:26px}.brand-footer{font-size:.8rem;color:oklch(83% .022 164)}.login-panel{position:relative;display:flex;align-items:center;justify-content:center;background:white;padding:60px 40px 100px}.login-form{width:100%;max-width:358px}.login-symbol{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:var(--selected);color:var(--brand);margin-bottom:28px}.login-symbol .icon{width:25px;height:25px}.login-form h2{font-size:1.65rem;font-weight:650;letter-spacing:-.028em;line-height:1.35}.login-form>p:first-of-type{margin:10px 0 34px;color:var(--muted);line-height:1.6}.login-form label,.dialog-form label{display:block;font-size:.86rem;font-weight:600;margin:20px 0 9px}.login-form input,.dialog-form input{width:100%;min-height:48px;background:white;border:1px solid oklch(82% .016 165);border-radius:8px;padding:12px 14px}.login-form input:hover,.dialog-form input:hover{border-color:var(--muted)}.login-submit{margin-top:28px;width:100%;justify-content:space-between;min-height:49px}.login-submit span{font-size:1.3rem;font-weight:400}.login-note{display:flex;align-items:flex-start;gap:8px;font-size:.77rem;line-height:1.7;color:var(--muted);margin-top:22px}.login-note .icon{width:15px;height:15px;margin-top:2px}.login-footer{position:absolute;bottom:35px;font-size:.77rem;color:var(--muted)}.form-error{padding:12px 13px;background:var(--danger-soft);color:var(--danger);border-radius:7px;font-size:.86rem;line-height:1.6;margin-top:15px}
.app-shell{display:grid;grid-template-columns:68px 350px minmax(0,1fr);height:100vh;height:100dvh;overflow:hidden;background:white}.rail{display:flex;flex-direction:column;align-items:center;gap:11px;padding:19px 9px 18px;background:var(--brand);color:white}.rail-logo{font:3.3rem/.85 Georgia,serif;letter-spacing:-.09em;text-decoration:none;color:white;margin:2px 4px 26px 0}.rail-logo>span{color:oklch(79% .07 156)}.rail-button{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:transparent;color:oklch(86% .025 163);transition:background 160ms,color 160ms}.rail-button:hover,.rail-button.selected{background:oklch(100% 0 0/.12);color:white}.rail-button.selected:before{position:absolute;left:-9px;content:"";width:3px;height:20px;border-radius:0 3px 3px 0;background:oklch(80% .095 151)}.rail-button .icon{width:23px;height:23px}.rail-spacer{flex:1}.rail-status{position:absolute;bottom:8px;right:8px;width:7px;height:7px;border-radius:50%;background:oklch(79% .1 80);outline:2px solid var(--brand)}.rail-status.connected{background:oklch(79% .15 150)}.rail-bottom{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid oklch(100% 0 0/.28);font-size:.65rem;letter-spacing:.04em;margin-top:9px}
.inbox{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:1px solid var(--line);background:white}.inbox-header{display:flex;align-items:center;justify-content:space-between;padding:26px 22px 21px}.brand-small{display:block;font-size:.77rem;font-weight:600;color:var(--brand);letter-spacing:-.015em}.brand-small span{font-weight:400;color:var(--muted);padding-left:2px}.inbox-header h1{font-size:1.65rem;letter-spacing:-.035em;font-weight:650;margin-top:12px}.new-chat{background:var(--selected);color:var(--brand);width:36px;height:36px;margin-top:17px}.inbox-tools{padding:0 18px 15px;border-bottom:1px solid var(--line)}.search-field{display:flex;align-items:center;gap:9px;min-height:41px;padding:0 12px;background:var(--subtle);border-radius:8px;border:1px solid transparent}.search-field:focus-within{border-color:var(--accent)}.search-field>.icon{width:17px;height:17px;color:var(--muted)}.search-field input{width:100%;padding:11px 0;background:transparent;border:0;outline:none;font-size:.82rem;color:var(--ink)}.search-field input:focus-visible{outline:none}.list-filters{display:flex;gap:8px;margin-top:15px}.filter{display:flex;align-items:center;gap:7px;font-size:.8rem;min-height:31px;padding:6px 11px;border-radius:20px;color:var(--muted);background:var(--subtle)}.filter:hover{background:var(--line)}.filter.active{color:var(--brand);background:var(--selected);font-weight:600}.filter>span{font-size:.73rem;opacity:.9}.connection-banner{display:flex;align-items:center;gap:9px;background:oklch(96% .037 88);color:oklch(39% .06 77);padding:12px 18px;text-align:left;font-size:.78rem;line-height:1.4;border-bottom:1px solid oklch(89% .04 87)}.connection-banner>span:nth-child(2){flex:1}.status-indicator{width:6px;height:6px;border-radius:50%;background:oklch(57% .12 80);flex-shrink:0}.chat-list{overflow:auto;flex:1;min-height:0;overscroll-behavior:contain}.list-placeholder{padding:42px 24px;color:var(--muted);font-size:.88rem;line-height:1.7;text-align:center}.chat-item{display:flex;align-items:center;gap:12px;padding:16px 17px 16px 20px;width:100%;background:white;text-align:left;min-height:85px;border-bottom:1px solid var(--subtle)}.chat-item:hover{background:var(--subtle)}.chat-item.selected{background:var(--selected)}.avatar{width:45px;height:45px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:oklch(92% .025 157);color:oklch(37% .06 164);font-size:.93rem;font-weight:600;letter-spacing:.02em;overflow:hidden}.avatar.alt-1{background:oklch(92% .03 210);color:oklch(37% .055 220)}.avatar.alt-2{background:oklch(92% .03 70);color:oklch(38% .06 63)}.avatar.alt-3{background:oklch(92% .03 300);color:oklch(39% .055 300)}.avatar img{width:100%;height:100%;object-fit:cover}.chat-info{flex:1;min-width:0}.chat-info strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;font-size:.92rem;line-height:1.4}.chat-info p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.82rem;line-height:1.5;margin-top:5px}.chat-item.unread .chat-info strong{font-weight:700}.chat-item.unread .chat-info p{color:var(--ink)}.chat-meta{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;flex-shrink:0}.chat-meta time{font-size:.68rem;color:var(--muted)}.chat-item.unread .chat-meta time{color:var(--accent);font-weight:600}.chat-badges{display:flex;align-items:center;gap:6px;min-height:18px}.chat-badges>.icon{width:13px;height:13px;color:var(--muted);transform:rotate(22deg)}.unread-badge{display:grid;place-items:center;border-radius:12px;min-width:19px;height:19px;padding:0 5px;font-size:.67rem;font-weight:600;color:white;background:var(--accent)}.inbox-footer{display:flex;align-items:center;justify-content:center;gap:7px;min-height:39px;border-top:1px solid var(--line);font-size:.67rem;color:var(--muted)}.inbox-footer .icon{width:12px;height:12px}
.workspace{min-width:0;min-height:0;background:var(--conversation);position:relative;display:flex;flex-direction:column}.welcome-view{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;padding:50px 28px;border-bottom:5px solid var(--brand);text-align:center}.welcome-icon{position:relative;color:var(--brand);display:grid;place-items:center;width:83px;height:83px;border-radius:25px;background:oklch(90% .029 159);margin-bottom:30px}.welcome-icon>.icon{width:43px;height:43px;stroke-width:1.2}.welcome-icon>span{width:12px;height:12px;border-radius:50%;background:oklch(68% .12 155);position:absolute;right:2px;top:0;outline:5px solid var(--conversation)}.welcome-brand{font:3.4rem/1 Georgia,serif;letter-spacing:-.035em;color:var(--brand);margin-bottom:24px}.welcome-view h2{font-size:1.45rem;font-weight:500;letter-spacing:-.025em}.welcome-view>p{font-size:.9rem;line-height:1.9;color:var(--muted);margin-top:14px}.welcome-view>.primary{margin-top:30px;font-size:.86rem}.welcome-foot{display:flex;align-items:center;gap:7px;font-size:.72rem;color:var(--muted);position:absolute;bottom:36px}.welcome-foot .icon{width:13px;height:13px}.conversation{height:100%;display:flex;flex-direction:column;min-height:0;min-width:0}.conversation-header{display:flex;align-items:center;gap:12px;padding:13px 23px;border-bottom:1px solid var(--line);min-height:78px;background:oklch(99% .003 164);flex-shrink:0}.conversation-header .avatar{width:43px;height:43px}.contact-heading{flex:1;min-width:0}.contact-heading h2{font-size:1rem;font-weight:600;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-heading>span{display:block;color:var(--muted);font-size:.76rem;margin-top:3px}.mobile-back{display:none}.message-search-bar{display:flex;align-items:center;gap:10px;background:white;padding:9px 20px;border-bottom:1px solid var(--line)}.message-search-bar>.search-field{flex:1}.message-search-bar>span{font-size:.75rem;color:var(--muted)}.message-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:auto;position:relative;padding:20px max(28px,5.8%)}.messages{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-bottom:10px}.date-divider{align-self:center;color:var(--muted);background:oklch(99% .003 162);border-radius:6px;padding:6px 11px;font-size:.71rem;margin:11px 0 14px;box-shadow:0 1px 2px oklch(20% .02 160/.04)}.message{position:relative;max-width:min(82%,580px);min-width:105px;background:white;border-radius:0 9px 9px 9px;padding:8px 10px 5px;overflow-wrap:anywhere;box-shadow:0 1px 1px oklch(20% .02 160/.08)}.message.outgoing{align-self:flex-end;background:var(--bubble);border-radius:9px 0 9px 9px}.message.search-match{outline:2px solid oklch(63% .11 85);outline-offset:2px}.message-text{font-size:.93rem;line-height:1.57;white-space:pre-wrap;max-width:65ch;padding:1px 1px 0}.message-media{margin:1px 0 7px;max-width:370px}.message-media img{display:block;max-width:100%;max-height:360px;object-fit:contain;border-radius:5px;cursor:zoom-in}.message-media video{display:block;width:100%;max-height:360px;border-radius:5px;background:oklch(18% .015 160)}.message-media audio{display:block;width:300px;max-width:100%;height:43px}.audio-caption{display:flex;gap:9px;justify-content:space-between;align-items:center;margin-top:5px;font-size:.71rem;color:var(--muted)}.audio-caption a{color:var(--muted)}.media-caption{font-size:.73rem;color:var(--muted);line-height:1.5}.message-document{display:flex;align-items:center;gap:10px;padding:12px 10px;border-radius:6px;background:oklch(20% .02 160/.045);min-width:min(260px,100%);text-decoration:none}.message-document>.icon:first-child{width:28px;height:28px}.message-document span{flex:1;font-size:.83rem;line-height:1.5;word-break:break-word}.message-document .download-icon{width:17px;height:17px}.media-unavailable{display:flex;align-items:center;gap:7px;font-size:.79rem;color:var(--muted);padding:8px 0;max-width:300px;line-height:1.5}.media-unavailable .icon{width:18px;height:18px}.message-reply-reference{display:block;border:0;background:oklch(20% .02 160/.055);text-align:left;border-radius:5px;padding:8px 10px;font-size:.76rem;color:var(--muted);margin-bottom:7px;max-height:80px;overflow:hidden;white-space:pre-wrap;width:100%;line-height:1.5}.message-meta{display:flex;justify-content:flex-end;align-items:center;gap:6px;min-height:21px;margin-top:2px;color:var(--muted);font-size:.65rem}.message-meta .message-reply-button{display:grid;place-items:center;background:transparent;color:var(--muted);width:24px;height:24px;border-radius:4px;margin-right:auto;opacity:0}.message:focus-within .message-reply-button,.message:hover .message-reply-button{opacity:1}.message-reply-button:hover{background:oklch(20% .02 160/.07)}.message-reply-button .icon{width:14px;height:14px}.message-status{font-size:.77rem;letter-spacing:-.13em;line-height:1}.message-status.read{color:oklch(45% .1 238)}.message-status.failed{color:var(--danger);font-size:.67rem;letter-spacing:0}.message-status.pending{font-size:.67rem;letter-spacing:0}.version-button{border:0;background:transparent;color:var(--muted);font-size:.65rem;padding:3px 0;text-decoration:underline;text-underline-offset:2px}.revoked-label{display:flex;align-items:center;gap:5px;font-size:.7rem;color:var(--muted);margin:5px 0 2px;line-height:1.5;font-style:italic}.message.attention{outline:1px solid oklch(70% .11 60)}.load-more{display:block;margin:0 auto 18px;border:1px solid var(--line);background:white;color:var(--brand);padding:8px 13px;border-radius:20px;font-size:.76rem}.load-more:hover{background:var(--subtle)}.messages-empty{text-align:center;position:absolute;top:42%;left:15%;right:15%;color:var(--brand);font-size:.95rem;line-height:1.9}.messages-empty span{font-size:.82rem;color:var(--muted)}
.composer{flex-shrink:0;padding:12px 20px 9px;background:oklch(98% .004 163);border-top:1px solid var(--line)}.compose-row{display:flex;gap:7px;align-items:flex-end}.compose-row>.icon-button{margin-bottom:3px}.compose-row textarea{flex:1;border:1px solid var(--line);resize:none;border-radius:9px;background:white;color:var(--ink);padding:13px 15px;min-height:46px;max-height:150px;line-height:1.45;overflow-y:auto;font-size:.92rem}.send-button{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;background:var(--brand);color:white;margin-bottom:2px;flex-shrink:0;transition:background 160ms}.send-button:hover{background:var(--brand-hover)}.send-button .icon{width:21px;height:21px;margin-left:2px}.compose-hint{display:flex;justify-content:space-between;gap:15px;margin:8px 3px 0 95px;font-size:.63rem;color:var(--muted);min-height:13px;line-height:1.4}.compose-preview{display:flex;align-items:center;gap:11px;padding:9px 10px 12px;font-size:.8rem;color:var(--muted)}.compose-preview>div{flex:1;min-width:0}.compose-preview strong{display:block;color:var(--brand);font-size:.79rem;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compose-preview span{display:block;max-height:38px;overflow:hidden;line-height:1.4;white-space:pre-wrap}.compose-preview>.icon{width:20px;height:20px;color:var(--accent)}.emoji-picker{display:flex;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:10px}.emoji-picker button{font-size:1.5rem;border-radius:7px;background:transparent;min-width:38px;height:38px}.emoji-picker button:hover{background:var(--selected)}.recording-bar{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 6px 10px;color:var(--danger);font-size:.86rem}.recording-dot{width:8px;height:8px;background:var(--danger);border-radius:50%;animation:recording-pulse 1.3s ease-in-out infinite}.recording-bar>time{font-variant-numeric:tabular-nums;flex:1}.recording-bar .text-button{font-size:.78rem}.conversation-notice{padding:11px 22px;font-size:.8rem;line-height:1.5;background:var(--danger-soft);color:var(--danger);border-top:1px solid oklch(90% .035 25)}
.dialog{border:0;border-radius:14px;padding:29px;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;color:var(--ink);background:white;box-shadow:0 6px 8px oklch(20% .02 160/.12)}dialog::backdrop{background:oklch(15% .025 165/.48)}.dialog-header{display:flex;align-items:flex-start;gap:10px;justify-content:space-between}.dialog-header h2{font-size:1.35rem;font-weight:600;letter-spacing:-.025em;line-height:1.4;margin-top:8px}.dialog-header>.icon-button{margin:-6px -9px 0 0}.dialog-copy{font-size:.88rem;color:var(--muted);line-height:1.7;margin-top:19px}.dialog-actions{display:flex;justify-content:flex-start;margin-top:22px}.dialog-footnote{font-size:.75rem;line-height:1.7;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:25px}.qr-container{display:flex;flex-direction:column;align-items:center;padding-top:20px;gap:15px}.qr-container img{max-width:100%;object-fit:contain;background:white;border:8px solid white}.qr-container p{font-size:.82rem;color:var(--muted);line-height:1.7;text-align:center;max-width:320px}.dialog-form{margin-top:20px}.dialog-form label>span{font-weight:400;color:var(--muted)}.dialog-form>.primary{margin-top:26px;width:100%}.field-hint{font-size:.75rem;color:var(--muted);margin-top:8px}.versions-list{margin-top:20px}.version-entry{border-top:1px solid var(--line);padding:17px 0}.version-entry time{font-size:.73rem;color:var(--muted)}.version-entry p{font-size:.9rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:8px}.image-dialog{border:0;border-radius:10px;padding:16px;background:var(--ink);max-width:95vw;max-height:95dvh}.image-dialog>.icon-button{color:white;position:absolute;right:14px;top:14px;background:oklch(15% 0 0/.8)}.image-dialog>img{display:block;max-height:75dvh;max-width:85vw;object-fit:contain}.image-dialog>.primary{margin:16px auto 0;display:flex;width:max-content}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(520px,calc(100% - 32px));background:var(--ink);color:white;border-radius:9px;padding:13px 18px;font-size:.85rem;line-height:1.6;box-shadow:0 3px 6px oklch(15% 0 0/.15);z-index:20}.toast.error{background:var(--danger)}
@keyframes recording-pulse{50%{opacity:.35}}
@media(min-width:1600px){.app-shell{grid-template-columns:76px 380px minmax(0,1fr)}.inbox-header{padding-top:30px}.message-scroll{padding-left:8%;padding-right:8%}}
@media(max-width:1050px){.app-shell{grid-template-columns:60px 315px minmax(0,1fr)}.rail{padding-left:8px;padding-right:8px}.inbox-header{padding-left:18px;padding-right:18px}.conversation-header{padding-left:16px;padding-right:16px;gap:9px}.message-scroll{padding-left:22px;padding-right:22px}.message{max-width:90%}.composer{padding-left:12px;padding-right:12px}.compose-row{gap:2px}.compose-hint{margin-left:88px}.welcome-view h2{font-size:1.3rem}.welcome-foot{font-size:.67rem}.login-intro h1{font-size:2.5rem}.login-brand{padding-left:12%;padding-right:10%}}
@media(max-width:760px){.app-shell{grid-template-columns:55px minmax(0,1fr)}.rail{padding:18px 6px;gap:14px}.rail-logo{font-size:2.9rem;margin-bottom:21px}.rail-button{width:39px;height:40px;border-radius:10px}.rail-button.selected:before{left:-6px}.rail-button .icon{width:22px;height:22px}.rail-bottom{width:28px;height:28px}.inbox{border-right:0}.inbox-header{padding:25px 22px 20px}.inbox-tools{padding-left:18px;padding-right:18px}.workspace{display:none}.app-shell.chat-open{grid-template-columns:minmax(0,1fr)}.chat-open>.rail,.chat-open>.inbox{display:none}.chat-open>.workspace{display:flex}.mobile-back{display:inline-flex;margin-left:-7px;width:32px}.conversation-header{min-height:72px;padding:11px 12px;gap:8px}.conversation-header .avatar{width:39px;height:39px;font-size:.8rem}.contact-heading h2{font-size:.95rem}.contact-heading>span{font-size:.7rem}.conversation-header>.icon-button:not(.mobile-back){width:34px;height:36px}.conversation-header>.icon-button .icon{width:19px;height:19px}.message-scroll{padding:14px 14px}.message{max-width:88%}.message-text{font-size:.93rem}.message-meta .message-reply-button{opacity:1}.message-media audio{width:260px}.message-media{max-width:300px}.composer{padding:10px 8px max(8px,env(safe-area-inset-bottom))}.compose-row>.icon-button{width:35px;height:39px;margin-bottom:4px}.compose-row>.icon-button .icon{width:21px;height:21px}.compose-row textarea{padding:12px;max-height:120px;min-height:44px;font-size:16px}.send-button{width:40px;height:40px;margin-bottom:2px}.compose-hint{display:none}.message-search-bar{padding:9px 12px}.message-search-bar>span{font-size:.67rem}.conversation-notice{padding:10px 14px;font-size:.78rem}.recording-bar{gap:8px;font-size:.79rem}.recording-bar .primary{font-size:.75rem;padding:7px 9px}.login-view{display:flex;flex-direction:column;min-height:100dvh}.login-brand{min-height:auto;padding:30px 27px}.wordmark{font-size:2.6rem}.wordmark span{font-size:8px;margin-top:9px}.login-intro,.brand-footer{display:none}.login-panel{flex:1;padding:40px 27px 85px;align-items:flex-start}.login-form{max-width:420px}.login-form h2{font-size:1.55rem}.login-symbol{display:none}.login-form>p:first-of-type{margin-bottom:27px}.login-footer{bottom:25px}.login-form input{font-size:16px}.dialog{padding:23px}.dialog-header h2{font-size:1.23rem}.qr-container img{width:236px;height:236px}.toast{bottom:20px;font-size:.8rem}.image-dialog>img{max-width:86vw}.emoji-picker{gap:2px}.emoji-picker button{min-width:36px}.message-document{min-width:190px}.connection-banner{font-size:.76rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.message-sticker img{max-width:160px;max-height:160px;width:auto;height:auto;object-fit:contain;border-radius:0}
.message.sticker-only{background:transparent;box-shadow:none;padding:4px 0 0;min-width:0}
.message.sticker-only .message-meta{background:var(--surface);border-radius:9px;padding:0 7px;width:max-content;min-width:70px;margin-left:auto}
@media(max-width:760px){.message-sticker img{max-width:140px;max-height:140px}}

:root[data-theme=dark]{
  color-scheme:dark;
  --brand:oklch(80.33% .115 178.21);
  --brand-hover:oklch(73.82% .1331 174.12);
  --accent:oklch(81.51% .1054 174.53);
  --ink:oklch(94.36% .0051 228.82);
  --muted:oklch(78.29% .014 233.8);
  --line:oklch(33.9% .0253 234.84);
  --surface:oklch(21.53% .0187 235.13);
  --subtle:oklch(28.51% .0209 234.05);
  --conversation:oklch(18.54% .0182 238.21);
  --bubble:oklch(42.37% .0803 174.41);
  --selected:oklch(33.51% .0253 234.86);
  --danger:oklch(83.83% .0891 26.76);
  --danger-soft:oklch(31.5% .0516 11.02);
  --action:oklch(65.09% .1283 170.43);
  --action-ink:oklch(20.55% .0321 173.57);
}
[data-theme=dark] .app-shell,[data-theme=dark] .inbox,[data-theme=dark] .chat-item,[data-theme=dark] .login-panel,[data-theme=dark] .dialog,[data-theme=dark] .message-search-bar{background:var(--surface)}
[data-theme=dark] .rail,[data-theme=dark] .conversation-header,[data-theme=dark] .composer,[data-theme=dark] .message,[data-theme=dark] .date-divider,[data-theme=dark] .load-more{background:var(--subtle)}
[data-theme=dark] .rail{color:var(--ink)}
[data-theme=dark] .rail-button{color:var(--muted)}
[data-theme=dark] .rail-button:hover,[data-theme=dark] .rail-button.selected{color:var(--ink);background:var(--selected)}
[data-theme=dark] .rail-button[aria-pressed=true]:not(.selected){color:var(--brand)}
[data-theme=dark] .rail-status{outline-color:var(--subtle)}
[data-theme=dark] .chat-item:hover,[data-theme=dark] .load-more:hover{background:var(--subtle)}
[data-theme=dark] .chat-item.selected{background:var(--selected)}
[data-theme=dark] .message.outgoing{background:var(--bubble)}
[data-theme=dark] .message.sticker-only{background:transparent}
[data-theme=dark] .message.outgoing .message-meta,[data-theme=dark] .message.outgoing .audio-caption,[data-theme=dark] .message.outgoing .audio-caption a,[data-theme=dark] .message.outgoing .media-caption,[data-theme=dark] .message.outgoing .media-unavailable,[data-theme=dark] .message.outgoing .revoked-label,[data-theme=dark] .message.outgoing .version-button,[data-theme=dark] .message.outgoing .message-reply-button{color:var(--ink)}
[data-theme=dark] .compose-row textarea,[data-theme=dark] .login-form input,[data-theme=dark] .dialog-form input{background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme=dark] .compose-row textarea{background:var(--selected)}
[data-theme=dark] .login-form input:hover,[data-theme=dark] .dialog-form input:hover{border-color:var(--muted)}
[data-theme=dark] .primary,[data-theme=dark] .send-button{background:var(--action);color:var(--action-ink)}
[data-theme=dark] .primary:hover,[data-theme=dark] .send-button:hover{background:var(--brand-hover)}
[data-theme=dark] .unread-badge{color:var(--action-ink)}
[data-theme=dark] .login-brand{background:oklch(32.27% .0448 174.66)}
[data-theme=dark] .avatar{background:oklch(36.73% .0249 225.08);color:var(--ink)}
[data-theme=dark] .avatar.alt-1{background:oklch(34% .04 225)}
[data-theme=dark] .avatar.alt-2{background:oklch(34% .04 72)}
[data-theme=dark] .avatar.alt-3{background:oklch(34% .04 300)}
[data-theme=dark] .welcome-icon{background:var(--subtle)}
[data-theme=dark] .welcome-view{border-bottom-color:var(--bubble)}
[data-theme=dark] .connection-banner{background:oklch(32% .038 85);color:oklch(87.98% .0808 85.02);border-color:var(--line)}
[data-theme=dark] .status-indicator{background:oklch(87.98% .0808 85.02)}
[data-theme=dark] .message-document,[data-theme=dark] .message-reply-reference{background:oklch(100% 0 0/.065);color:var(--ink)}
[data-theme=dark] .message-reply-button:hover{background:oklch(100% 0 0/.1)}
[data-theme=dark] .message-status.read,[data-theme=dark] .message.outgoing .message-status.read{color:oklch(82% .09 227.6)}
[data-theme=dark] .conversation-notice{border-top-color:var(--line)}
[data-theme=dark] .image-dialog{background:var(--conversation)}
[data-theme=dark] .toast{background:var(--selected);color:var(--ink)}
[data-theme=dark] .toast.error{background:var(--danger-soft);color:var(--danger)}
[data-theme=dark] button:focus-visible,[data-theme=dark] a:focus-visible,[data-theme=dark] input:focus-visible,[data-theme=dark] textarea:focus-visible,[data-theme=dark] [tabindex]:focus-visible{outline-color:var(--accent)}

.message-media .audio-native{display:none!important}
.message:has(.audio-player){padding:8px 9px 4px}
.message:has(.audio-player) .message-meta{min-height:18px;margin-top:0}
.message:has(.audio-player) .message-reply-button{height:18px}
.message-media:has(.audio-player){margin-bottom:0}
.audio-player{display:grid;grid-template-columns:38px minmax(0,1fr) 44px;column-gap:10px;row-gap:0;width:328px;max-width:100%;align-items:center;padding:1px 2px 0;color:var(--muted)}
.audio-play{grid-column:1;grid-row:1;display:grid;place-items:center;width:38px;height:38px;align-self:center;color:var(--muted);background:transparent;border-radius:50%;padding:5px}
.audio-play:hover{background:oklch(20% .02 160/.06);color:var(--brand)}
.audio-play>svg{width:29px;height:29px;fill:currentColor}
.audio-track{position:relative;grid-column:2;grid-row:1;min-width:0;height:36px;border-radius:5px}
.audio-wave{display:block;width:100%;height:36px;overflow:visible}
.audio-wave-base,.audio-wave-progress{fill:none;stroke-width:2.5;stroke-linecap:round}
.audio-wave-base{stroke:var(--muted);opacity:.65}
.audio-wave-progress{stroke:var(--brand)}
.audio-position{fill:var(--brand)}
.audio-player:not(.has-waveform) .audio-wave-base,.audio-player:not(.has-waveform) .audio-wave-progress{stroke-width:3}
.audio-seek{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.audio-track:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.audio-avatar{position:relative;grid-column:3;grid-row:1 / 3;display:flex;align-items:center;justify-content:center;align-self:center;width:43px;height:43px;border-radius:50%;background:var(--selected);color:var(--brand);font-size:.83rem;font-weight:600;letter-spacing:.01em}
.audio-avatar>.icon{width:28px;height:28px}
.audio-mic{position:absolute;left:-4px;bottom:-3px;display:grid;place-items:center;width:19px;height:21px;border-radius:7px;background:var(--surface);color:var(--brand)}
.audio-mic>.icon{width:15px;height:18px;stroke-width:2}
.outgoing .audio-mic{background:var(--bubble)}
.audio-footer{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0;height:20px;font-size:.7rem;font-variant-numeric:tabular-nums;line-height:1.2}
.audio-time{white-space:nowrap}
.audio-speed{min-width:30px;height:21px;flex-shrink:0;padding:1px 4px;border-radius:7px;background:oklch(20% .02 160/.055);color:inherit;font-size:.7rem;font-weight:600}
.audio-speed:hover{background:var(--selected);color:var(--brand)}
.audio-download{display:grid;place-items:center;width:23px;height:23px;border-radius:5px;color:inherit;flex-shrink:0}
.audio-download>.icon{width:15px;height:15px;stroke-width:1.7}
.audio-download:hover{background:var(--selected);color:var(--brand)}
.audio-feedback{grid-column:1 / -1;font-size:.76rem;line-height:1.6;padding-top:7px;color:var(--danger)}
.audio-player.is-loading .audio-play{opacity:.65}
[data-theme=dark] .audio-wave-base{opacity:.8}
[data-theme=dark] .audio-play:hover,[data-theme=dark] .audio-speed{background:oklch(100% 0 0/.055)}
[data-theme=dark] .audio-player{color:var(--muted)}
[data-theme=dark] .outgoing .audio-player,[data-theme=dark] .outgoing .audio-play{color:var(--ink)}
[data-theme=dark] .outgoing .audio-wave-base{stroke:var(--ink);opacity:.65}
@media(max-width:760px){.audio-player{width:304px;grid-template-columns:34px minmax(0,1fr) 40px;column-gap:7px;padding-left:0;padding-right:0}.audio-play{width:34px;height:38px;padding:3px}.audio-avatar{width:39px;height:39px}.audio-footer{gap:3px}.audio-speed{min-width:28px;padding:1px 3px}.audio-download{width:21px}}

.message-scroll{overflow-anchor:none}
.avatar{position:relative}
.avatar-photo,.audio-avatar>.avatar-photo{position:absolute;inset:0;display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.audio-mic{z-index:1}
