:root{--bg-app:#0e1621;--bg-panel:#17212b;--bg-elevated:#1f2c3a;--bg-hover:#202b36;--bg-active:#2b5278;--bg-input:#242f3d;--bubble-in:#182533;--bubble-out:#2b5278;--border:#0b1219;--text:#f5f5f5;--text-secondary:#708499;--text-on-accent:#fff;--accent:#5288c1;--accent-hover:#6aa0d8;--accent-text:#6ab3f3;--danger:#e5534b;--success:#4fae4e;--badge:#3e6a99;--shadow:0 8px 28px #00000073;--radius:12px;--radius-bubble:14px;--sidebar-w:360px;--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{left:0;right:0;top:var(--app-top,0px);height:100vh;height:var(--app-h,100dvh);position:fixed;overflow:hidden}html,body{overscroll-behavior:none}body{background:var(--bg-app);color:var(--text);font:15px/1.4 var(--font);-webkit-font-smoothing:antialiased;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}input,textarea{font:inherit;color:var(--text)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--bg-active)}.btn{background:var(--accent);height:48px;color:var(--text-on-accent);letter-spacing:.2px;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:600;transition:background .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:default}.btn--block{width:100%}.btn--ghost{color:var(--accent-text);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--bg-hover)}.link{color:var(--accent-text);font-size:14px}.link:hover{text-decoration:underline}.link:disabled{color:var(--text-secondary);cursor:default;text-decoration:none}.field{background:var(--bg-input);border:1px solid #2f3b48;border-radius:10px;outline:none;width:100%;height:52px;padding:0 16px;transition:border-color .15s}.field:focus{border-color:var(--accent)}.field--error{border-color:var(--danger)}.icon-btn{width:40px;height:40px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;transition:background .15s,color .15s;display:inline-grid}.icon-btn:hover{background:var(--bg-hover);color:var(--text)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar{color:#fff;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.auth{background:radial-gradient(1200px 600px at 50% -10%, #1b2a3a 0%, var(--bg-app) 60%);place-items:center;height:100%;padding:24px 16px;display:grid;overflow-y:auto}.auth__card{text-align:center;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:380px;display:flex}.auth__logo{background:var(--accent);border-radius:28px;place-items:center;width:104px;height:104px;margin-bottom:14px;display:grid;box-shadow:0 10px 40px #5288c159}.auth__title{margin:0;font-size:24px;font-weight:700}.auth__hint{color:var(--text-secondary);margin:0 0 10px;font-size:15px}.auth__form{flex-direction:column;gap:14px;width:100%;display:flex}.auth__error{min-height:20px;color:var(--danger);text-align:left;margin:-4px 0 0;font-size:14px}.auth__note{text-align:left;min-height:20px;color:var(--text-secondary);margin:-4px 0 0;font-size:14px}.auth__note--ok{color:var(--success)}.auth__code{text-align:center;letter-spacing:12px;font-variant-numeric:tabular-nums;font-size:28px}.auth__prefixed{position:relative}.auth__prefixed .field{padding-left:34px}.auth__prefix{color:var(--text-secondary);pointer-events:none;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth__row{justify-content:space-between;gap:12px;width:100%;display:flex}.main{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);height:100%;display:grid;overflow:hidden}.sidebar{min-width:0;min-height:0;padding-top:env(safe-area-inset-top);background:var(--bg-panel);border-right:1px solid var(--border);flex-direction:column;display:flex}.sidebar__top{flex:none;align-items:center;gap:8px;padding:8px 12px;display:flex;position:relative}.search{background:var(--bg-input);border:1px solid #0000;border-radius:20px;outline:none;flex:1;height:40px;padding:0 16px}.search:focus{border-color:var(--accent);background:var(--bg-app)}.sidebar__status{color:var(--text-secondary);flex:none;padding:0 16px 8px;font-size:13px}.chatlist{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1 1 0;min-height:0;padding:0 6px 8px;overflow-y:auto}.chatlist__empty{text-align:center;color:var(--text-secondary);padding:32px 20px;font-size:14px}.chatitem{text-align:left;border-radius:10px;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.chatitem:hover{background:var(--bg-hover)}.chatitem--active,.chatitem--active:hover{background:var(--bg-active)}.chatitem__body{flex:1;min-width:0}.chatitem__row{align-items:center;gap:8px;display:flex}.chatitem__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.chatitem__time{color:var(--text-secondary);flex:none;font-size:12px}.chatitem__preview{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.chatitem--active .chatitem__preview,.chatitem--active .chatitem__time{color:#c5d6e8}.chatitem__preview b{color:var(--text);font-weight:400}.chatitem--active .chatitem__preview b{color:#fff}.chatitem__typing{color:var(--accent-text)}.badge{background:var(--badge);color:#fff;border-radius:11px;flex:none;place-items:center;min-width:22px;height:22px;padding:0 7px;font-size:12px;font-weight:600;display:grid}.chatitem--active .badge{color:var(--bg-active);background:#fff}.menu{z-index:50;background:var(--bg-elevated);min-width:200px;box-shadow:var(--shadow);border-radius:10px;padding:6px 0;animation:.12s ease-out pop;position:fixed}@keyframes pop{0%{opacity:0;transform:scale(.96)}}.menu__item{text-align:left;align-items:center;gap:14px;width:100%;padding:9px 16px;font-size:14px;display:flex}.menu__item:hover{background:var(--bg-hover)}.menu__item svg{color:var(--text-secondary)}.menu__item--danger,.menu__item--danger svg{color:var(--danger)}.menu__sep{background:#2a3645;height:1px;margin:6px 0}.menu__label{color:var(--text-secondary);padding:6px 16px 2px;font-size:12px}.menu__item--checked:after{content:"✓";color:var(--accent-text);margin-left:auto}.chat{background:var(--bg-app);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.chat--empty{place-items:center;display:grid}.chat__placeholder{color:#c5d6e8;background:#0000004d;border-radius:14px;padding:6px 14px;font-size:14px}.chat__header{box-sizing:content-box;height:56px;padding:env(safe-area-inset-top) 12px 0;z-index:2;background:var(--bg-panel);border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;display:flex;position:relative}.chat__back{display:none}.chat__title{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.chat__subtitle{color:var(--text-secondary);font-size:13px}.chat__subtitle--accent{color:var(--accent-text)}.chat__headtext{flex:1;min-width:0}.messages{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1 1 0;min-height:0;padding:12px 0 8px;overflow:hidden auto}.messages__inner{flex-direction:column;max-width:760px;margin:0 auto;padding:0 16px;display:flex}.day{color:#c5d6e8;z-index:1;background:#0000004d;border-radius:12px;align-self:center;margin:10px 0;padding:3px 10px;font-size:13px;font-weight:500;position:sticky;top:4px}.msg{margin-top:2px;display:flex}.msg--first{margin-top:8px}.msg--out{justify-content:flex-end}.bubble{border-radius:var(--radius-bubble);background:var(--bubble-in);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;max-width:min(520px,82%);padding:6px 10px 6px 12px;position:relative}.msg--out .bubble{background:var(--bubble-out)}.msg--in.msg--last .bubble{border-bottom-left-radius:4px}.msg--out.msg--last .bubble{border-bottom-right-radius:4px}.bubble--deleted{color:var(--text-secondary);font-style:italic}.bubble__sender{margin-bottom:2px;font-size:13px;font-weight:600;display:block}.bubble__meta{float:right;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:3px;margin:8px 0 -4px 12px;font-size:12px;line-height:1;display:inline-flex}.msg--out .bubble__meta{color:#7da8d3}.bubble__meta--failed{color:var(--danger)!important}.msg--pending .bubble{opacity:.85}.typing-dots{vertical-align:middle;gap:3px;margin-right:4px;display:inline-flex}.typing-dots i{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite blink}.typing-dots i:nth-child(2){animation-delay:.2s}.typing-dots i:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{padding:8px 16px max(14px, env(safe-area-inset-bottom));flex:none}.kbd-open .composer{padding-bottom:8px}.composer__inner{max-width:760px;margin:0 auto}.composer__edit{border-left:2px solid var(--accent);background:var(--bg-panel);border-radius:6px;align-items:center;gap:10px;margin-bottom:6px;padding:6px 12px;font-size:13px;display:flex}.composer__edit span{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.composer__edit b{color:var(--accent-text);margin-right:8px;font-weight:600}.composer__row{align-items:flex-end;gap:8px;display:flex}.composer__box{background:var(--bg-panel);border-radius:22px;flex:1;padding:11px 16px;display:flex}.composer__input{resize:none;background:0 0;border:0;outline:none;flex:1;max-height:200px;line-height:1.4}.composer__send{background:var(--accent);color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;transition:background .15s,transform .1s;display:grid}.composer__send:hover:not(:disabled){background:var(--accent-hover)}.composer__send:active:not(:disabled){transform:scale(.94)}.composer__send:disabled{background:var(--bg-panel);color:var(--text-secondary);cursor:default}.overlay{z-index:40;background:#0000008c;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.dialog{border-radius:var(--radius);background:var(--bg-panel);width:100%;max-width:420px;box-shadow:var(--shadow);flex-direction:column;gap:14px;padding:20px;display:flex}.dialog__title{margin:0;font-size:18px;font-weight:600}.dialog__label{color:var(--text-secondary);margin-bottom:-8px;font-size:13px}.dialog__actions{justify-content:flex-end;gap:8px;display:flex}.dialog__actions .btn{height:40px}.toast{z-index:60;background:var(--bg-elevated);box-shadow:var(--shadow);border-radius:10px;padding:10px 16px;font-size:14px;animation:.15s pop;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:767px){.main{grid-template-columns:1fr}.main--chat-open .sidebar,.main:not(.main--chat-open) .chat{display:none}.chat__back{display:inline-grid}.sidebar{border-right:0}.messages__inner,.composer{padding-left:8px;padding-right:8px}.bubble{max-width:88%}}@media (hover:none) and (pointer:coarse){.bubble{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;cursor:pointer}.msg--pressed .bubble{filter:brightness(1.25);transition:filter .15s}.menu__item{padding:13px 18px;font-size:16px}.search,.field,.composer__input{font-size:16px}}
