/* Local Noto fonts: Vietnamese, Latin and Latin Extended. SIL Open Font License. */
/* vietnamese */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-sans-normal-vietnamese-v1.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-sans-normal-latin-ext-v1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-sans-normal-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-italic-vietnamese-v1.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-italic-latin-ext-v1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: italic;
  font-weight: 400 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-italic-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-normal-vietnamese-v1.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-normal-latin-ext-v1.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Serif';
  font-style: normal;
  font-weight: 400 900;
  font-stretch: 100%;
  font-display: swap;
  src: url(assets/fonts/noto-serif-normal-latin-v1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Text-only layer: preserve the existing panels, controls and responsive layout. */
:root {
  --serif: 'Noto Serif', Georgia, 'Times New Roman', serif;
  --ui-font: 'Noto Sans', 'Segoe UI', Arial, sans-serif;
}
body { font-family: var(--ui-font); }
button, input, select, textarea { font-family: var(--ui-font); }

/* Wuxia headings with the same face for Latin letters and Vietnamese accents. */
.brand-text h1, .epic-title, .card-head h2, .qr-widget-title,
.zalo-community h3 { font-family: var(--serif); }
.brand-text h1 { font-weight: 700; letter-spacing: .035em; line-height: 1.35; }
.epic-title { font-weight: 800; letter-spacing: 0; line-height: 1.3; text-shadow: 0 2px 3px #000b; }
.card-head h2 { font-weight: 700; letter-spacing: .035em; line-height: 1.4; }
.qr-widget-title { letter-spacing: .02em; line-height: 1.45; }
.card-head p, .qr-widget-msg, .qr-widget-note { font-family: var(--serif); }
.card-head p { line-height: 1.65; }
.brand-text span { letter-spacing: .2em; line-height: 1.5; }
.epic-badge, .or-divider, .btn-google, .btn-guest, .btn-enter-game,
.zalo-community-label, .btn-copy-small, .btn-toggle-widget {
  font-family: var(--ui-font);
  letter-spacing: .035em;
}
.user-logged-name { font-family: var(--serif); line-height: 1.5; }
.user-logged-email { line-height: 1.5; overflow-wrap: anywhere; }
.bank-row label { letter-spacing: .025em; line-height: 1.45; }
.bank-row strong { font-variant-numeric: tabular-nums; }

/* Compact controls retain their sizes; accents have more vertical breathing room. */
#game .brand { letter-spacing: .035em; }
#game .brand small { font-family: var(--ui-font); letter-spacing: .16em; }
#game h1 { line-height: 1.3; }
#game .eyebrow, #game .side-head { letter-spacing: .08em; line-height: 1.5; }
#game .faction { line-height: 1.4; }
#game .faction small, #game .avatar small { line-height: 1.45; color: #c6c9b6; }
#game .faction-desc, #game .mobile-intro { line-height: 1.65; }
#game .primary, #game .dodge-button { letter-spacing: .025em; }
#game .pk-btn, #game kbd, #game .player-name span:last-child,
#game .bag-layer, #game .bag-layer button, #game .bag-layer input {
  font-family: var(--ui-font);
}
#game .skill .name { line-height: 1.4; text-shadow: 0 1px 1px #000; }
#game .player-panel { filter: none; }
#game .player-panel .portrait { filter: drop-shadow(0 2px 4px #0009); }
#game .player-name, #game .sub-row { text-shadow: 0 1px 1px #000; }
#game .chat, #game .killfeed, #game .weapon-hint { text-shadow: 0 1px 1px #000, 1px 0 1px #000; }
#game .bar span, #game #clock { font-variant-numeric: tabular-nums; }

.epic-title span { text-shadow: none; }
#game .bag-money, #game .status-note, #game .vcount, #game .slot small,
#game .bag-help, #game .bag-tip, #game .bag-tip b,
#game .bag-actions, #game .bag-actions button { font-family: var(--ui-font); }
#game .status-title, #game .bag-help h4 { font-family: var(--serif); letter-spacing: .045em; }
