/* Copyright (c) Fortanix, Inc.
|* This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of
|* the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. */

@use 'sass:meta';

// Note: make sure the following do not emit anything (should only export mixins)
@use './layers.scss' as layers;
@use './global/reset.scss' as reset;
@use './global/global.scss' as global;
@use './context/theming.scss' as theming;
@use './global/accessibility.scss' as accessibility;
@use './global/fonts.scss' as fonts;
@use '../typography/Prose/Prose.mixins.scss' as prose;


//
// Output
//

@include layers.styles; // Cascade layer ordering: MUST be emitted before anything else

@layer reset { @include reset.styles; } // Reset all user agent styling to a minimal/consistent base

// User-oriented styling (high layer specificity in order to apply to everything by default). If a component needs
// to override these styling (e.g. custom focus outline), then use `!important`.
// Note: despite being in a high layer, emitted early so that it is parsed sooner.
@layer accessibility { @include accessibility.styles; }

// Baklava-specific styling
@layer baklava.base { @include global.styles; }
@layer baklava.theming { @include theming.styles; }
@layer baklava.prose { @include prose.styles; }

// Emit fonts last, because vite will inline the font files, and we don't want to block the rest of the styling
@layer baklava.base { @include fonts.styles; }
