.mobile-user-shell { padding: 0; background: linear-gradient(180deg, color-mix(in oklab, var(--bg) 96%, white 4%) 0%, color-mix(in oklab, var(--bg) 88%, var(--panel-soft) 12%) 100%); } .app-shell.mobile-user-shell { padding: 0; } .mobile-user-frame { width: 100%; height: 100dvh; min-height: 100dvh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; } .mobile-user-header { width: 100%; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 4px max(8px, env(safe-area-inset-right)) 4px max(8px, env(safe-area-inset-left)); border-bottom: 1px solid color-mix(in oklab, var(--line) 72%, transparent); background: color-mix(in oklab, var(--panel) 96%, transparent); backdrop-filter: blur(10px); } .mobile-user-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; } .mobile-user-brand-logo { width: 30px; height: 30px; } .mobile-user-brand strong { color: var(--title); font-size: 22px; line-height: 1; } .mobile-user-header-actions { display: inline-flex; align-items: center; gap: 10px; } .compact-header-switches { display: inline-flex; align-items: center; gap: 8px; } .compact-header-pill { width: 40px; height: 40px; border-radius: 999px; border: 1px solid color-mix(in oklab, var(--line) 76%, transparent); background: color-mix(in oklab, var(--panel-soft) 78%, transparent); color: var(--title); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .compact-header-pill-text { width: auto; min-width: 52px; padding: 0 14px; font-size: 13px; font-weight: 800; } .mobile-user-header-bot-switcher { min-width: 40px; } .mobile-user-header-action, .mobile-user-avatar { width: 36px; height: 36px; border-radius: 999px; border: 1px solid color-mix(in oklab, var(--line) 76%, transparent); background: color-mix(in oklab, var(--panel-soft) 78%, transparent); color: var(--title); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; } .mobile-user-avatar { font-size: 15px; font-weight: 800; } .mobile-user-content { min-height: 0; overflow: hidden; padding: 3px max(6px, env(safe-area-inset-right)) 0 max(6px, env(safe-area-inset-left)); background: var(--panel); } .mobile-user-content > * { min-height: 100%; } .mobile-user-content .chat-workspace-page, .mobile-user-content .chat-workspace-main, .mobile-user-content .chat-workspace-main-attached, .mobile-user-content .grid-ops.grid-ops-compact, .mobile-user-content .ops-chat-panel, .mobile-user-content .ops-chat-shell, .mobile-user-content .ops-main-content-shell, .mobile-user-content .ops-main-content-frame, .mobile-user-content .ops-main-content-body, .mobile-user-content .ops-chat-frame, .mobile-user-content .ops-runtime-panel, .mobile-user-content .ops-runtime-shell { min-height: 0; height: 100%; } .mobile-user-content .ops-chat-scroll { min-height: 0; max-height: none; } .mobile-user-content .platform-page-stack, .mobile-user-content .platform-template-page { min-height: 100%; gap: 4px; } .mobile-user-content .platform-page-stack > .panel, .mobile-user-content > .platform-template-page, .mobile-user-content .ops-chat-panel.panel, .mobile-user-content .ops-runtime-panel.panel { border: 0; border-radius: 0; box-shadow: none; background: transparent; padding-top: 5px; padding-bottom: 5px; padding-left: 0; padding-right: 0; } .mobile-user-content .page-section-head { gap: 4px; } .mobile-user-content .platform-settings-toolbar, .mobile-user-content .platform-profile-grid, .mobile-user-content .platform-profile-meta, .mobile-user-content .platform-profile-actions, .mobile-user-content .platform-settings-actions, .mobile-user-content .platform-settings-pager { gap: 4px; } .mobile-user-content .platform-settings-info-card { gap: 12px; padding: 6px 14px; border-radius: 14px; } .mobile-user-content .platform-profile-meta-row { padding: 5px 12px; } .mobile-user-content .platform-profile-actions { margin-top: 5px; } .mobile-user-content .ops-chat-panel, .mobile-user-content .ops-runtime-panel { padding: 0; } .mobile-user-content .ops-main-content-frame { border: 1px solid color-mix(in oklab, var(--line) 52%, transparent); border-radius: 12px; background: var(--panel); box-shadow: none; overflow: hidden; } .mobile-user-content .ops-main-content-head { min-height: 36px; padding: 3px 4px 3px; border-bottom: 0; background: transparent; } .mobile-user-content .ops-main-mode-rail { width: 100%; } .mobile-user-content .ops-main-content-body .ops-chat-scroll { border: 0; border-radius: 0; background: transparent; padding: 2px 4px; } .mobile-user-content .ops-main-content-body .ops-chat-dock, .mobile-user-content .ops-main-content-body .ops-topic-feed.is-panel { padding-left: 4px; padding-right: 4px; } .mobile-user-content .ops-main-content-body .ops-chat-dock { padding-top: 1px; padding-bottom: 4px; } .mobile-user-content .ops-main-content-body .ops-topic-feed.is-panel { padding-top: 3px; padding-bottom: 4px; } .mobile-user-content .ops-topic-feed-list.is-panel { padding-right: 0; } .mobile-user-content .ops-chat-item { gap: 6px; } .mobile-user-content .ops-chat-row { margin-bottom: 4px; } .mobile-user-content .ops-chat-date-divider { margin: 2px 0 5px; } .mobile-user-content .ops-avatar { width: 28px; height: 28px; flex: 0 0 28px; } .mobile-user-content .ops-chat-row.is-user .ops-avatar.user { margin-left: 6px; } .mobile-user-content .ops-composer { border: 0; border-radius: 0; background: transparent; padding: 0; } .mobile-user-content .ops-chat-bubble { max-width: calc(100% - 2px); } .mobile-user-content .ops-thinking-bubble { min-width: 0; max-width: calc(100% - 2px); } .mobile-user-content .ops-runtime-shell { gap: 4px; } .mobile-user-content .ops-runtime-head { gap: 4px; } .mobile-user-content .ops-runtime-scroll { gap: 4px; } .mobile-user-content .workspace-panel { min-height: 0; } .mobile-user-bottom-nav { position: relative; width: 100%; box-sizing: border-box; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding: 3px max(6px, env(safe-area-inset-right)) calc(3px + env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left)); border-top: 1px solid color-mix(in oklab, var(--line) 72%, transparent); background: color-mix(in oklab, var(--panel) 97%, transparent); backdrop-filter: blur(12px); } .mobile-user-bottom-item-wrap { position: relative; } .bot-switcher-wrap { position: relative; } .bot-switcher-trigger { width: 40px; height: 40px; border: 1px solid color-mix(in oklab, var(--line) 76%, transparent); border-radius: 999px; background: color-mix(in oklab, var(--panel-soft) 76%, transparent); color: var(--title); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; } .bot-switcher-trigger-avatar, .bot-switcher-item-avatar { width: 24px; height: 24px; border-radius: 999px; background: color-mix(in oklab, var(--panel) 82%, white 18%); display: inline-flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 900; } .bot-switcher-trigger.is-running { background: linear-gradient(145deg, color-mix(in oklab, var(--ok) 14%, var(--panel-soft) 86%), color-mix(in oklab, var(--ok) 8%, var(--panel) 92%)); } .bot-switcher-trigger.is-stopped { background: linear-gradient(145deg, color-mix(in oklab, #b79aa2 14%, var(--panel-soft) 86%), color-mix(in oklab, #b79aa2 7%, var(--panel) 93%)); } .bot-switcher-trigger.is-disabled { background: linear-gradient(145deg, color-mix(in oklab, #9ca3b5 14%, var(--panel-soft) 86%), color-mix(in oklab, #9ca3b5 7%, var(--panel) 93%)); } .bot-switcher-trigger.is-open { border-color: color-mix(in oklab, var(--brand) 42%, var(--line) 58%); } .bot-switcher-overlay { position: fixed; inset: 0; background: rgba(3, 9, 20, 0.46); display: flex; align-items: center; justify-content: center; padding: 24px; z-index: 9999; } .bot-switcher-portal-shell { padding: 0; min-height: 0; } .bot-switcher-popover { width: min(420px, calc(100vw - 32px)); max-height: min(520px, calc(100vh - 48px)); border: 1px solid color-mix(in oklab, var(--line) 76%, transparent); border-radius: 22px; background: color-mix(in oklab, var(--panel) 98%, transparent); box-shadow: var(--shadow); padding: 14px; display: grid; gap: 12px; margin: auto; } .bot-switcher-popover-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; } .bot-switcher-popover-head strong { color: var(--title); font-size: 13px; } .bot-switcher-popover-list { min-height: 0; overflow: auto; display: grid; gap: 8px; } .bot-switcher-item { width: 100%; border: 1px solid color-mix(in oklab, var(--line) 72%, transparent); border-radius: 14px; padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; color: var(--text); background: color-mix(in oklab, var(--panel-soft) 70%, transparent); } .bot-switcher-item.is-running { background: linear-gradient(145deg, color-mix(in oklab, var(--ok) 14%, var(--panel-soft) 86%), color-mix(in oklab, var(--ok) 8%, var(--panel) 92%)); } .bot-switcher-item.is-stopped { background: linear-gradient(145deg, color-mix(in oklab, #b79aa2 14%, var(--panel-soft) 86%), color-mix(in oklab, #b79aa2 7%, var(--panel) 93%)); } .bot-switcher-item.is-disabled { background: linear-gradient(145deg, color-mix(in oklab, #9ca3b5 14%, var(--panel-soft) 86%), color-mix(in oklab, #9ca3b5 7%, var(--panel) 93%)); } .bot-switcher-item.is-active { border-color: color-mix(in oklab, var(--brand) 42%, var(--line) 58%); box-shadow: inset 0 0 0 1px color-mix(in oklab, var(--brand) 52%, transparent); } .bot-switcher-item-main { min-width: 0; display: flex; align-items: center; gap: 10px; } .bot-switcher-item-copy { min-width: 0; display: grid; gap: 3px; text-align: left; } .bot-switcher-item-copy strong { color: var(--title); font-size: 13px; } .bot-switcher-item-copy span { color: var(--muted); font-size: 12px; } .sys-topbar-bot-switcher { min-width: 40px; } .sys-topbar-bot-switcher .bot-switcher-trigger { width: 40px; height: 40px; } .mobile-user-bottom-item { width: 100%; min-height: 52px; border: 0; background: transparent; color: var(--muted); display: grid; justify-items: center; gap: 4px; align-content: center; cursor: pointer; font-size: 12px; font-weight: 700; } .mobile-user-bottom-item.is-active { color: var(--brand); } .mobile-user-settings-popover { position: absolute; right: 0; bottom: calc(100% + 10px); min-width: 190px; padding: 8px; border: 1px solid color-mix(in oklab, var(--line) 76%, transparent); border-radius: 18px; background: color-mix(in oklab, var(--panel) 98%, transparent); box-shadow: var(--shadow); display: grid; gap: 6px; z-index: 30; } .mobile-user-settings-item { width: 100%; border: 1px solid transparent; border-radius: 12px; background: transparent; color: var(--text); padding: 10px 12px; display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-size: 13px; font-weight: 700; } .mobile-user-settings-item:hover { background: color-mix(in oklab, var(--panel-soft) 52%, transparent); border-color: color-mix(in oklab, var(--brand) 28%, transparent); } .mobile-user-settings-item.danger { color: var(--err); }