/* Bundled OFL fonts (see assets/fonts/OFL.txt): Orbitron for headings, Noto Sans for body text, Noto Sans Devanagari for Hindi. */
@font-face { font-family: 'Orbitron'; src: url('../assets/fonts/orbitron-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }
@font-face { font-family: 'Noto Sans'; src: url('../assets/fonts/noto-sans-latin-400.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: 'Noto Sans'; src: url('../assets/fonts/noto-sans-latin-700.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215; }
@font-face { font-family: 'Noto Sans'; src: url('../assets/fonts/noto-sans-latin-ext-400.woff2') format('woff2'); font-weight: 400; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Noto Sans'; src: url('../assets/fonts/noto-sans-latin-ext-700.woff2') format('woff2'); font-weight: 700; font-display: swap; unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Noto Sans Devanagari'; src: url('../assets/fonts/noto-sans-devanagari-400.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Noto Sans Devanagari'; src: url('../assets/fonts/noto-sans-devanagari-700.woff2') format('woff2'); font-weight: 700; font-display: swap; }

/* HTML loader shown until Phaser's PreloadScene takes over. */
#boot-loader {
  position: fixed; inset: 0; display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 12px;
  background: radial-gradient(ellipse at 50% 60%, #1b1440 0%, #05040d 70%);
  z-index: 10; transition: opacity .6s;
}
#boot-loader.hidden { opacity: 0; pointer-events: none; }
.bl-title { font-family: Orbitron, 'Noto Sans', sans-serif; font-size: clamp(22px, 5vw, 48px); font-weight: 800; letter-spacing: .18em; color: #7ff3ff; text-shadow: 0 0 18px #19c9ff; }
.bl-sub { font-size: 12px; letter-spacing: .5em; color: #8a7fd6; }
.bl-bar { width: min(320px, 70vw); height: 4px; background: #1a2340; border-radius: 2px; overflow: hidden; }
.bl-bar span { display: block; height: 100%; width: 30%; background: #37e0ff; animation: bl 1.2s ease-in-out infinite; }
@keyframes bl { 0% { transform: translateX(-100%); } 100% { transform: translateX(340%); } }
