@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+Bengali:wght@400;600;700&family=Noto+Serif:ital,wght@0,400;0,700;1,400&display=swap');

body {
  font-family: "Noto Serif Bengali", "Noto Serif", Georgia, serif;
  font-size: 1.05rem;
  font-weight: 400;
  max-width: 48rem;
  margin: 2rem auto;
  padding: 0 1rem;
  line-height: 1.75;
  color: #1a1a1a;
}

h1,
h2,
h3,
h4 {
  font-family: "Noto Serif Bengali", "Noto Serif", Georgia, serif;
  font-weight: 700;
  line-height: 1.3;
}

h1 {
  font-size: 1.6rem;
}

h2 {
  font-size: 1.3rem;
  margin-top: 2rem;
}

h3 {
  font-size: 1.1rem;
  margin-top: 1.5rem;
}

h2 small[lang="en"],
h3 small[lang="en"] {
  display: block;
  font-weight: normal;
  margin-top: 0.1em;
}

[lang="en"] {
  color: #555;
}

.spoiler {
  filter: blur(8px);
  opacity: 0.75;
  transition: filter 0.1s ease, opacity 0.1s ease;
  cursor: default;
}

.spoiler:hover {
  filter: none;
  opacity: 1;
}

@media print {
  .spoiler {
    filter: none;
    opacity: 1;
  }
}

hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 2rem 0;
}

code,
pre {
  font-family: "SF Mono", Menlo, Consolas, monospace;
  background: #f5f5f5;
  border-radius: 3px;
}

code {
  padding: 0 0.25em;
}

pre {
  padding: 0.75rem 1rem;
  overflow-x: auto;
}

blockquote {
  border-left: 3px solid #ccc;
  margin: 1rem 0;
  padding: 0.25rem 1rem;
  color: #444;
}

table {
  border-collapse: collapse;
  margin: 1rem 0;
}

th,
td {
  border: 1px solid #ccc;
  padding: 0.4rem 0.75rem;
  text-align: left;
}

th {
  background: #f5f5f5;
}

li {
  margin: 0.2rem 0;
}

ol:lang(bn) {
  list-style-type: bengali;
}

@counter-style bengali-consonant {
  system: alphabetic;
  symbols: ক খ গ ঘ ঙ চ ছ জ ঝ ঞ ট ঠ ড ঢ ণ ত থ দ ধ ন প ফ ব ভ ম য র ল শ ষ স হ;
  suffix: ". ";
}

ol[type="a"]:lang(bn) {
  list-style-type: bengali-consonant;
}

small {
  color: #666;
}