// Copyright (C) 2026 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//      http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Hero connect / idle state.
.pf-memscope-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 48px 24px;
  border-radius: 8px;
  border: 0.5px dashed var(--pf-col-border);
  text-align: center;
  // Subtle inset shadow for depth
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
}

.pf-memscope-hero__icon {
  font-size: 48px;
  color: var(--pf-color-text-muted);
  opacity: 0.5;
}

.pf-memscope-hero__text {
  font-size: var(--pf-font-size-m);
  color: var(--pf-color-text-muted);
  max-width: 420px;
  line-height: 1.5;
}
