/* ============================================================
   LUMICHESS FONTS
   Satoshi — Primary typeface (display + body)
   Roboto/Jost kept temporarily for backward compatibility
   ============================================================ */

/* Satoshi Variable - Normal */
@font-face {
    font-family: 'Satoshi';
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(../fonts/Satoshi-Variable.woff2) format('woff2');
}

/* Satoshi Variable - Italic */
@font-face {
    font-family: 'Satoshi';
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(../fonts/Satoshi-VariableItalic.woff2) format('woff2');
}

/* Roboto Variable Font - Normal (legacy, will be removed) */
@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url(../fonts/Roboto-VariableFont_wdth,wght.ttf) format('truetype-variations');
}

/* Roboto Variable Font - Italic (legacy, will be removed) */
@font-face {
    font-family: 'Roboto';
    font-style: italic;
    font-weight: 100 900;
    font-display: swap;
    src: url(../fonts/Roboto-Italic-VariableFont_wdth,wght.ttf) format('truetype-variations');
}

/* Jost Variable (legacy, will be removed) */
@font-face {
    font-family: 'Jost';
    font-display: swap;
    font-style: normal;
    font-weight: 100 900;
    src: url(../fonts/Jost-VariableFont_wght.ttf) format('truetype-variations');
}

/* Lichess icons (15KB woff2). Used only for chess-domain glyphs that have
   a strong convention from Lichess itself — takeback (Back, e047), etc. */
@font-face {
    font-family: 'lichess-icons';
    font-style: normal;
    font-weight: normal;
    font-display: block;
    src: url(../fonts/lichess-icons.woff2) format('woff2');
}

/* Utility: <i class="li-icon" data-icon=""></i> renders the Lichess
   glyph at the host element's font-size. Set data-icon to the literal
   PUA character (e.g.,  for takeback). */
.li-icon {
    font-family: 'lichess-icons', sans-serif;
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    speak: none;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.li-icon::before { content: attr(data-icon); }

/* ============================================================
   TOUCH BEHAVIOUR
   Disable double-tap-to-zoom (keeps pinch-zoom + scrolling).
   Set on the root so the restriction applies to the whole page —
   touch-action is gated by ancestors, so html=manipulation blocks
   double-tap zoom everywhere. Loaded on every page via fonts.css;
   matters most inside the native app's WKWebView, where stray
   double-taps zooming the UI feels broken.
   ============================================================ */
html { touch-action: manipulation; }
