/*
 * Copyright 2026 Hypergiant Galactic Systems Inc. All rights reserved.
 * This file is licensed to you 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 https://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 REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

@reference '@accelint/design-foundation/styles';

@layer components.l1 {
  .overlay {
    @apply absolute inset-0 flex items-center justify-center;
    background-color: var(--primitive-alpha-black-400);

    @variant motion-safe {
      transition: background-color var(--animation-duration-fast)
        var(--animation-easing-accelerate);
    }

    @variant entering {
      background-color: transparent;
    }

    @variant exiting {
      background-color: transparent;
    }
  }

  .modal {
    @apply bg-surface-overlay shadow-elevation-overlay flex flex-col justify-center;

    @variant motion-safe {
      @variant entering {
        @apply animate-fade-enter;
      }
      @variant exiting {
        @apply animate-fade-exit;
      }
    }

    @variant group-size-small/dialog {
      @apply rounded-medium;
    }

    @variant group-size-large/dialog {
      @apply rounded-large;
    }
  }

  .dialog {
    @apply fg-primary-muted text-body-m flex flex-col font-light;

    @variant focus-visible {
      @apply outline-none;
    }

    @variant group-size-small/dialog {
      @apply rounded-medium p-l;
      width: 280px;
    }

    @variant group-size-large/dialog {
      @apply rounded-medium p-xl;
      min-width: 320px;
      max-width: 720px;
    }
  }

  .title {
    @apply fg-primary-bold;

    @variant group-size-small/dialog {
      @apply mb-s text-header-m;
    }

    @variant group-size-large/dialog {
      @apply mb-m text-header-l;
    }
  }

  .content {
    @apply fg-primary-muted flex flex-col;

    @variant group-size-small/dialog {
      @apply gap-xs;
    }

    @variant group-size-large/dialog {
      @apply gap-l;
    }
  }

  .footer {
    @apply gap-xs flex justify-end;

    @variant group-size-small/dialog {
      @apply mt-l;
    }

    @variant group-size-large/dialog {
      @apply mt-xl;
    }
  }
}
