/* Font Definitions for OXVA */

/* Anona Font Family */
@font-face {
    font-family: 'Anona';
    src: url('./Anona_Semibold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Anona';
    src: url('./Anona_Semibold_Italic.otf') format('opentype');
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Anona';
    src: url('./Anona_Extrabold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Anona';
    src: url('./Anona_Extrabold_Italic.otf') format('opentype');
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

/* Roboto Mono Variable Font */
@font-face {
    font-family: 'Roboto Mono';
    src: url('./RobotoMono-VariableFont_wght.ttf') format('truetype-variations');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

/* Font Family Classes */
.font-anona {
    font-family: 'Anona', serif;
}

.font-roboto-mono {
    font-family: 'Roboto Mono', monospace;
}

/* Font Weight Utilities */
.font-thin {
    font-weight: 100;
}

.font-light {
    font-weight: 300;
}

.font-normal {
    font-weight: 400;
}

.font-medium {
    font-weight: 500;
}

.font-semibold {
    font-weight: 600;
}

.font-bold {
    font-weight: 700;
}

.font-black {
    font-weight: 900;
}

/* Variable Font Weight Classes */
.font-variable {
    font-variation-settings: 'wght' var(--font-weight, 400);
}

/* Custom Font Weight Variables */
.font-weight-100 { --font-weight: 100; }
.font-weight-200 { --font-weight: 200; }
.font-weight-300 { --font-weight: 300; }
.font-weight-400 { --font-weight: 400; }
.font-weight-500 { --font-weight: 500; }
.font-weight-600 { --font-weight: 600; }
.font-weight-700 { --font-weight: 700; }
.font-weight-800 { --font-weight: 800; }
.font-weight-900 { --font-weight: 900; }

/* Typography Scale */
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }
.text-5xl { font-size: 3rem; line-height: 1; }
.text-6xl { font-size: 3.75rem; line-height: 1; }

/* Letter Spacing */
.tracking-tighter { letter-spacing: -0.05em; }
.tracking-tight { letter-spacing: -0.025em; }
.tracking-normal { letter-spacing: 0em; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }

/* Line Height */
.leading-none { line-height: 1; }
.leading-tight { line-height: 1.25; }
.leading-snug { line-height: 1.375; }
.leading-normal { line-height: 1.5; }
.leading-relaxed { line-height: 1.625; }
.leading-loose { line-height: 2; }

/* Font Style */
.italic { font-style: italic; }
.not-italic { font-style: normal; }

/* Text Transform */
.uppercase { text-transform: uppercase; }
.lowercase { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }
.normal-case { text-transform: none; }

/* Text Decoration */
.underline { text-decoration: underline; }
.line-through { text-decoration: line-through; }
.no-underline { text-decoration: none; }

/* Text Alignment */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }

/* Vertical Alignment */
.align-baseline { vertical-align: baseline; }
.align-top { vertical-align: top; }
.align-middle { vertical-align: middle; }
.align-bottom { vertical-align: bottom; }
.align-text-top { vertical-align: text-top; }
.align-text-bottom { vertical-align: text-bottom; }
.align-sub { vertical-align: sub; }
.align-super { vertical-align: super; }

/* Whitespace */
.whitespace-normal { white-space: normal; }
.whitespace-nowrap { white-space: nowrap; }
.whitespace-pre { white-space: pre; }
.whitespace-pre-line { white-space: pre-line; }
.whitespace-pre-wrap { white-space: pre-wrap; }
.whitespace-break-spaces { white-space: break-spaces; }

/* Word Break */
.break-normal { overflow-wrap: normal; word-break: normal; }
.break-words { overflow-wrap: break-word; }
.break-all { word-break: break-all; }
.break-keep { word-break: keep-all; }

/* Default Font Settings */
body {
    font-family: 'Anona', serif;
    font-weight: 600;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Heading Styles */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Anona', serif;
    font-weight: 800;
    line-height: 1.2;
}

/* Code and Pre Elements */
code, pre {
    font-family: 'Roboto Mono', monospace;
    font-weight: 400;
} 