:root{--bg: #191919;--bg-sidebar: #202020;--bg-elevated: #252525;--bg-hover: rgba(255, 255, 255, .055);--bg-active: rgba(255, 255, 255, .09);--bg-input: rgba(255, 255, 255, .055);--text: rgba(255, 255, 255, .81);--text-strong: rgba(255, 255, 255, .92);--text-muted: rgba(255, 255, 255, .46);--text-faint: rgba(255, 255, 255, .282);--border: rgba(255, 255, 255, .094);--border-strong: rgba(255, 255, 255, .14);--accent: #2383e2;--accent-hover: #0f74d4;--accent-soft: rgba(35, 131, 226, .14);--danger: #eb5757;--danger-soft: rgba(235, 87, 87, .12);--success: #4dab9a;--warning: #ffa344;--code-bg: rgba(255, 255, 255, .06);--code-text: #eb5757;--selection: rgba(35, 131, 226, .35);--radius-sm: 4px;--radius: 6px;--radius-lg: 10px;--shadow-pop: 0 0 0 1px rgba(15, 15, 15, .2), 0 3px 6px rgba(15, 15, 15, .3), 0 9px 24px rgba(15, 15, 15, .45);--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif, "Segoe UI Emoji", "Segoe UI Symbol";--font-mono: "SFMono-Regular", Menlo, Consolas, "PT Mono", "Liberation Mono", Courier, monospace;--ease: cubic-bezier(.2, .8, .2, 1);--nav-width: 72px;--mobile-nav-height: 56px;--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:var(--font-sans);line-height:1.5;font-weight:400;color-scheme:dark;color:var(--text);background-color:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}::selection{background:var(--selection)}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:var(--accent-hover)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;background:var(--bg)}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:background .12s ease}.ui-btn:hover{background:var(--bg-hover);border-color:var(--border-strong)}.ui-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.ui-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.ui-btn:disabled{opacity:.45;cursor:not-allowed}.ui-icon-btn{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer;transition:background .12s ease,color .12s ease}.ui-icon-btn:hover,.ui-icon-btn.pressed{background:var(--bg-hover);color:var(--text);border-color:transparent}.ui-search{display:flex;align-items:center;gap:6px;margin:0 8px 8px;padding:0 8px;height:28px;border-radius:var(--radius);background:var(--bg-input);color:var(--text-muted);flex-shrink:0}.ui-search input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;color:var(--text-strong);font-family:inherit;font-size:14px}.ui-search input::placeholder{color:var(--text-faint)}.ui-search input::-webkit-search-cancel-button{filter:grayscale(1) invert(1) opacity(.5)}.ui-search:focus-within{box-shadow:0 0 0 1px var(--accent)}.ui-search input:focus-visible{outline:none}.chat-avatar{position:relative;flex-shrink:0;display:inline-flex;border-radius:50%}.chat-avatar img,.chat-avatar-initials{width:100%;height:100%;border-radius:50%}.chat-avatar img{object-fit:cover;background:var(--bg-elevated)}.chat-avatar-initials{display:grid;place-items:center;color:#ffffffeb;font-weight:600;letter-spacing:.02em;-webkit-user-select:none;user-select:none}.chat-avatar-online{position:absolute;right:-1px;bottom:-1px;width:28%;height:28%;min-width:9px;min-height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 2px var(--bg-sidebar)}@media(hover:none){.ui-icon-btn:hover:not(.pressed){background:transparent}}.app-loading{min-height:100vh;min-height:100dvh;background:var(--bg);display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.loading-spinner svg{width:28px;height:28px;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.view-loading{min-height:100vh;min-height:100dvh;background:var(--bg)}.app-container{display:flex;min-height:100vh;min-height:100dvh;background:var(--bg)}.app-main{flex:1;min-width:0;margin-left:var(--nav-width);display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.app-content{flex:1;min-width:0;overflow:auto}@media(max-width:768px){.app-main{margin-left:0;margin-bottom:calc(var(--mobile-nav-height) + var(--safe-bottom));min-height:calc(100dvh - var(--mobile-nav-height) - var(--safe-bottom))}.view-loading{min-height:calc(100dvh - var(--mobile-nav-height) - var(--safe-bottom))}}.sidebar{box-sizing:border-box;width:var(--nav-width);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;align-items:center;padding:14px 0;position:fixed;left:0;top:0;bottom:0;z-index:100;gap:16px}.sidebar-logo{width:36px;height:36px;padding:4px;border:none;border-radius:var(--radius);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease}.sidebar-logo:hover{background:var(--bg-hover);border-color:transparent}.sidebar-logo img{width:100%;height:100%;object-fit:contain}.sidebar-nav{display:flex;flex-direction:column;gap:4px;width:100%;align-items:center;flex:1}.sidebar-item{background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;width:58px;border-radius:var(--radius);color:var(--text-muted);font-family:inherit;transition:background .12s ease,color .12s ease}.sidebar-item:hover{background:var(--bg-hover);color:var(--text);border-color:transparent}.sidebar-item.active{background:var(--bg-active);color:var(--text-strong)}.sidebar-item:focus-visible,.sidebar-logo:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.sidebar-icon{flex-shrink:0}.sidebar-icon-wrap{position:relative;display:inline-flex}.sidebar-badge{position:absolute;top:-6px;left:12px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--danger);box-shadow:0 0 0 2px var(--bg-sidebar);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-sizing:border-box}.sidebar-label{font-size:11px;font-weight:500;line-height:1.2;letter-spacing:.1px}.sidebar-profile{width:100%;display:flex;justify-content:center;padding-top:12px;border-top:1px solid var(--border)}.profile-trigger{background:transparent;border:none;border-radius:50%;padding:0;cursor:pointer;transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.profile-trigger:hover{border-color:transparent}.profile-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.profile-icon{width:30px;height:30px;opacity:.5;transition:opacity .2s}.profile-trigger:hover .profile-icon{opacity:.7}.profile-initial{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#5a5a5a;color:#fff;font-size:14px;font-weight:600;line-height:1}.profile-avatar-small{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid var(--border-strong);transition:border-color .2s}.profile-trigger:hover .profile-initial{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#5a5a5a;color:#fff;font-size:14px;font-weight:600;line-height:1}.profile-avatar-small{border-color:var(--text-faint)}.profile-dropdown-container{position:relative;display:flex;align-items:center;justify-content:center}.profile-dropdown{position:absolute;top:auto;bottom:100%;left:80%;transform:translate(-15%);margin-bottom:12px;background:var(--bg-elevated);border:none;border-radius:var(--radius-lg);padding:6px;width:200px;box-shadow:var(--shadow-pop);z-index:1000;animation:dropdownFadeUp .2s ease}@keyframes dropdownFadeUp{0%{opacity:0;transform:translate(-15%) translateY(10px)}to{opacity:1;transform:translate(-15%) translateY(0)}}.dropdown-item{width:100%;background:transparent;border:none;color:var(--text);padding:6px 10px;font-size:14px;font-weight:400;cursor:pointer;display:flex;align-items:center;gap:10px;border-radius:var(--radius-sm);transition:background .12s;text-align:left}.dropdown-item:hover{background:var(--bg-hover);border-color:transparent}.dropdown-item svg{flex-shrink:0;color:var(--text-muted)}.mnav{position:fixed;left:0;right:0;bottom:0;z-index:100;box-sizing:border-box;height:calc(var(--mobile-nav-height) + var(--safe-bottom));padding:0 4px var(--safe-bottom);display:flex;align-items:stretch;background:var(--bg-sidebar);border-top:1px solid var(--border)}.mnav-item{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0;border:none;background:transparent;color:var(--text-muted);font-family:inherit;cursor:pointer;transition:color .12s ease}.mnav-item.active{color:var(--text-strong)}.mnav-item:focus-visible{outline:none}.mnav-item:focus-visible .mnav-icon{outline:2px solid var(--accent);outline-offset:0}.mnav-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:52px;height:28px;border-radius:14px;transition:background .15s ease}.mnav-item.active .mnav-icon{background:var(--bg-active)}.mnav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:500;line-height:1.2}.mnav-badge{position:absolute;top:-3px;left:30px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;border-radius:8px;background:var(--danger);box-shadow:0 0 0 2px var(--bg-sidebar);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center}.mnav-dot{position:absolute;top:2px;left:34px;width:8px;height:8px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 2px var(--bg-sidebar)}body[data-immersive] .mnav{display:none}body[data-immersive] .app-main{margin-bottom:0;min-height:100dvh}.mnav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:flex-end;background:#00000080;animation:mnav-fade .18s ease}.mnav-sheet{box-sizing:border-box;width:100%;max-height:85dvh;overflow-y:auto;overscroll-behavior:contain;padding:8px 12px calc(16px + var(--safe-bottom));border-radius:14px 14px 0 0;background:var(--bg-elevated);box-shadow:var(--shadow-pop);animation:mnav-slide .24s var(--ease)}.mnav-sheet:focus{outline:none}.mnav-handle{display:block;width:36px;height:4px;margin:0 auto 10px;border-radius:2px;background:var(--border-strong)}.mnav-profile{display:flex;align-items:center;gap:12px;width:100%;padding:10px 8px;margin-bottom:6px;border:none;border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;background:transparent;color:var(--text);font-family:inherit;text-align:left;cursor:pointer}.mnav-profile:hover{border-color:var(--border)}.mnav-profile.active,.mnav-profile:active{background:var(--bg-hover)}.mnav-profile-text{flex:1;min-width:0;display:flex;flex-direction:column}.mnav-profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-strong);font-size:15px;font-weight:600}.mnav-profile-hint{color:var(--text-muted);font-size:13px}.mnav-chevron{color:var(--text-faint)}.mnav-list{margin:0;padding:0;list-style:none}.mnav-row{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 8px;box-sizing:border-box;border-radius:var(--radius);background:var(--bg-elevated);color:var(--text);font-size:15px}.mnav-link{border:none;font-family:inherit;text-align:left;cursor:pointer}.mnav-link:active,.mnav-link.active{background:var(--bg-hover)}.mnav-link.active{color:var(--text-strong)}.mnav-row-icon{flex-shrink:0;color:var(--text-muted)}.mnav-link.active .mnav-row-icon{color:var(--text-strong)}.mnav-row-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mnav-pill-badge{min-width:20px;height:20px;padding:0 6px;box-sizing:border-box;border-radius:10px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:20px;text-align:center}.mnav-edit-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:40px;margin-top:10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:transparent;color:var(--text);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer}.mnav-edit-btn:hover{border-color:var(--border-strong)}.mnav-edit-btn:active{background:var(--bg-hover)}.mnav-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.mnav-sheet-title{margin:0;color:var(--text-strong);font-size:15px;font-weight:600}.mnav-text-btn{min-width:72px;height:36px;padding:0 8px;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);font-family:inherit;font-size:15px;cursor:pointer}.mnav-text-btn:first-child{text-align:left}.mnav-text-btn.primary{color:var(--accent);font-weight:600;text-align:right}.mnav-text-btn:disabled{opacity:.5}.mnav-group-title{display:flex;justify-content:space-between;padding:12px 8px 4px;color:var(--text-muted);font-size:12px;font-weight:600}.mnav-count{font-weight:500;color:var(--text-faint)}.mnav-grip{display:inline-flex;align-items:center;justify-content:center;width:28px;height:36px;margin:0 -8px 0 -4px;padding:0;border:none;background:transparent;color:var(--text-faint);cursor:grab;touch-action:none}.mnav-grip.placeholder{cursor:default}.mnav-grip:focus-visible{outline:2px solid var(--accent);border-radius:var(--radius-sm)}.mnav-row.dragging{position:relative;z-index:1;background:var(--bg-active);box-shadow:var(--shadow-pop)}.mnav-row-action{width:32px;height:32px}.mnav-row-action.add{color:var(--accent)}.mnav-row-action:disabled{opacity:.35;cursor:not-allowed}.mnav-loading{height:240px}.mnav-error{margin:12px 8px 0;color:var(--danger);font-size:13px}@keyframes mnav-fade{0%{opacity:0}}@keyframes mnav-slide{0%{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.mnav-overlay,.mnav-sheet{animation:none}}
