/* ===================================================================
   Font Face Declarations
   Pre-register all Arabic/Latin fonts with the browser so Compose
   Canvas can render them correctly (especially Arabic glyphs).
   =================================================================== */

/* Almarai */
@font-face {
    font-family: 'Almarai';
    src: url('almarai_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Almarai';
    src: url('almarai_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Amiri */
@font-face {
    font-family: 'Amiri';
    src: url('amiri_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Amiri';
    src: url('amiri_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Cairo */
@font-face {
    font-family: 'Cairo';
    src: url('cairo_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Cairo';
    src: url('cairo_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* IBM Plex Sans Arabic */
@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('ibm_plex_sans_arabic_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('ibm_plex_sans_arabic_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Noto Sans Arabic */
@font-face {
    font-family: 'Noto Sans Arabic';
    src: url('noto_sans_arabic_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans Arabic';
    src: url('noto_sans_arabic_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Readex Pro */
@font-face {
    font-family: 'Readex Pro';
    src: url('readex_pro_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Readex Pro';
    src: url('readex_pro_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Tajawal */
@font-face {
    font-family: 'Tajawal';
    src: url('tajawal_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Tajawal';
    src: url('tajawal_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Vazirmatn */
@font-face {
    font-family: 'Vazirmatn';
    src: url('vazirmatn_regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Vazirmatn';
    src: url('vazirmatn_bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Noto Color Emoji */
@font-face {
    font-family: 'Noto Color Emoji';
    src: url('noto_color_emoji.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* ===================================================================
   Layout
   =================================================================== */

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow: hidden;
    display: block;
    position: relative;

    /* Website-like interactions */
    -webkit-tap-highlight-color: transparent;
    background-color: #ffffff;
}

#compose-target {
    width: 100%;
    height: 100%;
    display: block;
    position: relative;

    /* Support for notches while remaining a standard website */
    padding-top: env(safe-area-inset-top, 0px);
    padding-right: env(safe-area-inset-right, 0px);
    padding-bottom: env(safe-area-inset-bottom, 0px);
    padding-left: env(safe-area-inset-left, 0px);
    box-sizing: border-box;
}

/* Expose safe area variables for use in Compose if needed */
:root {
    --safe-area-top: env(safe-area-inset-top, 0px);
    --safe-area-bottom: env(safe-area-inset-bottom, 0px);
}
