@font-face {
    font-family: 'Nunito';
    src: url('/assets/fonts/Nunito-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('/assets/fonts/Nunito-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('/assets/fonts/Nunito-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('/assets/fonts/Nunito-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Nunito';
    src: url('/assets/fonts/Nunito-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    --color-scheme: light;
    --color-accent: #22C55E;
    --color-accent-hover: #16A34A;
    --bg-body: #F8FAFC;
    --text-main: #0F172A;
    --text-muted: #64748B;
    --bg-header: #FFFFFF;
    --header-border: #E2E8F0;
    --burger-hover-bg: #F1F5F9;
    --burger-icon-color: #475569;
    --header-logo-icon: #16A34A;
    --header-icon-button: #475569;
    --header-icon-button-hover-bg: #F1F5F9;
    --navigation-menu-link: #475569;
    --navigation-menu-link-hover: #0F172A;
    --navigation-menu-link-border-hover: #CBD5E1;
    --navigation-menu-link-active: #16A34A;
    --navigation-menu-link-border-active: #16A34A;
    --drawer-bg: #FFFFFF;
    --drawer-border: #E2E8F0;
    --drawer-link-text: #334155;
    --drawer-link-hover-bg: #F8FAFC;
    --drawer-link-active: #16A34A;
    --drawer-link-active-bg: #F0FDF4;
    --dialog-bg: #FFFFFF;
    --dialog-border: #E2E8F0;
    --option-hover: #F1F5F9;
    --option-active-bg: #F0FDF4;
    --option-active-border: #BBF7D0;
    --title-404: #0F172A;
    --subtitle-404: #1E293B;
    --text-404: #475569;
}

[data-theme="dark"] {
    --color-scheme: dark;
    --bg-body: #0B0B0B;
    --text-main: #F1F5F9;
    --text-muted: #94A3B8;
    --bg-header: rgba(11, 11, 11, 1);
    --header-border: #262626;
    --burger-hover-bg: #161616;
    --burger-icon-color: #94A3B8;
    --header-logo-icon: #22C55E;
    --header-icon-button: #94A3B8;
    --header-icon-button-hover-bg: #161616;
    --navigation-menu-link: #94A3B8;
    --navigation-menu-link-hover: #FFFFFF;
    --navigation-menu-link-border-hover: #262626;
    --navigation-menu-link-active: #22C55E;
    --navigation-menu-link-border-active: #22C55E;
    --drawer-bg: #0B0B0B;
    --drawer-border: #262626;
    --drawer-link-text: #CBD5E1;
    --drawer-link-hover-bg: #161616;
    --drawer-link-active: #22C55E;
    --drawer-link-active-bg: rgba(20, 83, 45, 0.2);
    --dialog-bg: #0B0B0B;
    --dialog-border: #262626;
    --option-hover: #1E1E1E;
    --option-active-bg: rgba(34, 197, 94, 0.1);
    --option-active-border: rgba(34, 197, 94, 0.3);
    --title-404: #FFFFFF;
    --subtitle-404: #F1F5F9;
    --text-404: #94A3B8;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
    color-scheme: var(--color-scheme);
}

body {
    background-color: var(--bg-body);
    color: var(--text-main);
    font-family: 'Nunito', sans-serif;
    font-weight: 400;
    transition: background-color 0.3s ease, color 0.3s ease;
    height: 100vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

a {
    color: inherit;
    text-decoration: inherit;
}