/* GENERATED from tokens.json; version 2.4.0. */
:root {
  --ds-color-brand-title: #66023C;
  --ds-color-section-title: #A52A2A;
  --ds-color-link: #AA4A3B;
  --ds-color-error: #A52A2A;
  --ds-color-success: #5B6D50;
  --ds-color-warning: #E2A76F;
  --ds-color-highlight-border: #E2A76F;
  --ds-color-surface-base: #F4F5F0;
  --ds-color-surface-raised: #EAECE6;
  --ds-color-text-primary: #2C3E50;
  --ds-color-warning-text: #2C3E50;
  --ds-color-caption: #2C3E50;
  --ds-color-source: #AA4A3B;
  --ds-color-table-header: #2C3E50;
  --ds-color-chart-axis: #2C3E50;
  --ds-color-chart-1: #AA4A3B;
  --ds-color-chart-2: #5B6D50;
  --ds-color-chart-3: #A52A2A;
  --ds-color-warning-border: #E2A76F;
  --ds-color-action-primary: #66023C;
  --ds-color-text-muted: #2C3E50;
  --ds-color-text-muted-bw: #2C3E50;
  --ds-color-border: #E2A76F;
  --ds-font-serif-classical: "Gentium Plus", "New Athena Unicode", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", "Yu Mincho", serif;
  --ds-font-sans-ui: "Inter", -apple-system, BlinkMacSystemFont, "Roboto", "Noto Sans SC", "Source Han Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --ds-font-display: "Cinzel", "Gentium Plus", serif;
  --ds-font-mono: ui-monospace, "SF Mono", "Menlo", "Consolas", "Liberation Mono", monospace;
  --ds-font-serif-editorial: "Gentium Plus", "New Athena Unicode", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --ds-font-serif-cjk: "Gentium Plus CJK", "New Athena Unicode CJK", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;
  --ds-text-micro: 0.778rem;
  --ds-text-small: 0.889rem;
  --ds-text-body: 1.125rem;
  --ds-text-h4: 1.25rem;
  --ds-text-h3: 1.563rem;
  --ds-text-h2: 1.953rem;
  --ds-text-h1: 2.746rem;
  --ds-leading-body: 1.6;
  --ds-leading-heading: 1.25;
  --ds-measure-prose: 68ch;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 1rem;
  --ds-space-4: 1.5rem;
  --ds-space-5: 2rem;
  --ds-space-6: 3rem;
  --ds-bp-md: 48rem;
  --ds-bp-lg: 72rem;
  --ds-container-prose: 46rem;
  --ds-container-wide: 72rem;
  --ds-radius-sm: 0.25rem;
  --ds-radius-md: 0.5rem;
  --ds-z-dropdown: 100;
  --ds-z-overlay: 500;
  --ds-z-modal: 1000;
  --ds-z-toast: 1500;
  --ds-touch-min: 2.75rem;
  --ds-dur-fast: 120ms;
  --ds-dur-normal: 200ms;
  --ds-dur-slow: 300ms;
  --ds-ease: cubic-bezier(0.2, 0, 0, 1);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
  --ds-color-brand-title: #D4AF37;
  --ds-color-section-title: #EB6E56;
  --ds-color-link: #D0826A;
  --ds-color-error: #EB6E56;
  --ds-color-success: #63B08C;
  --ds-color-warning: #E2A76F;
  --ds-color-highlight-border: #E2A76F;
  --ds-color-surface-base: #1A1C20;
  --ds-color-surface-raised: #24272D;
  --ds-color-text-primary: #DFE2DA;
  --ds-color-warning-text: #DFE2DA;
  --ds-color-caption: #DFE2DA;
  --ds-color-source: #D0826A;
  --ds-color-table-header: #DFE2DA;
  --ds-color-chart-axis: #DFE2DA;
  --ds-color-chart-1: #D0826A;
  --ds-color-chart-2: #63B08C;
  --ds-color-chart-3: #EB6E56;
  --ds-color-warning-border: #E2A76F;
  --ds-color-action-primary: #D4AF37;
  --ds-color-text-muted: #DFE2DA;
  --ds-color-text-muted-bw: #DFE2DA;
  --ds-color-border: rgba(223, 226, 218, 0.1);
  }
}
:root[data-theme="dark"] {
  --ds-color-brand-title: #D4AF37;
  --ds-color-section-title: #EB6E56;
  --ds-color-link: #D0826A;
  --ds-color-error: #EB6E56;
  --ds-color-success: #63B08C;
  --ds-color-warning: #E2A76F;
  --ds-color-highlight-border: #E2A76F;
  --ds-color-surface-base: #1A1C20;
  --ds-color-surface-raised: #24272D;
  --ds-color-text-primary: #DFE2DA;
  --ds-color-warning-text: #DFE2DA;
  --ds-color-caption: #DFE2DA;
  --ds-color-source: #D0826A;
  --ds-color-table-header: #DFE2DA;
  --ds-color-chart-axis: #DFE2DA;
  --ds-color-chart-1: #D0826A;
  --ds-color-chart-2: #63B08C;
  --ds-color-chart-3: #EB6E56;
  --ds-color-warning-border: #E2A76F;
  --ds-color-action-primary: #D4AF37;
  --ds-color-text-muted: #DFE2DA;
  --ds-color-text-muted-bw: #DFE2DA;
  --ds-color-border: rgba(223, 226, 218, 0.1);
}
@media print {
  :root, :root[data-theme="dark"], :root[data-theme="light"] {
  --ds-color-brand-title: #66023C;
  --ds-color-section-title: #A52A2A;
  --ds-color-link: #AA4A3B;
  --ds-color-error: #A52A2A;
  --ds-color-success: #5B6D50;
  --ds-color-warning: #E2A76F;
  --ds-color-highlight-border: #E2A76F;
  --ds-color-surface-base: #FFFFFF;
  --ds-color-surface-raised: #EAECE6;
  --ds-color-text-primary: #232323;
  --ds-color-warning-text: #232323;
  --ds-color-caption: #232323;
  --ds-color-source: #AA4A3B;
  --ds-color-table-header: #232323;
  --ds-color-chart-axis: #232323;
  --ds-color-chart-1: #AA4A3B;
  --ds-color-chart-2: #5B6D50;
  --ds-color-chart-3: #A52A2A;
  --ds-color-warning-border: #E2A76F;
  --ds-color-action-primary: #66023C;
  --ds-color-text-muted: #232323;
  --ds-color-text-muted-bw: #666666;
  --ds-color-border: #E2A76F;
  }
}

@font-face {
  font-family: "Gentium Plus";
  src: url("fonts/GentiumPlus-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Gentium Plus";
  src: url("fonts/GentiumPlus-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
* { box-sizing: border-box; }
html { color-scheme: light; scroll-padding-top: 1rem; }
body {
  margin: 0;
  background: var(--ds-color-surface-base);
  color: var(--ds-color-text-primary);
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 1rem;
  line-height: 1.75;
}
.wrap { max-width: 62rem; margin-inline: auto; padding-inline: 1.5rem; }
a { color: var(--ds-color-link); text-underline-offset: .18em; overflow-wrap: anywhere; }
a:hover { text-decoration-thickness: .12em; }
a:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--ds-color-link); outline-offset: 4px; }
.site-header { border-bottom: 1px solid var(--ds-color-border); }
.header-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-block: 1.1rem; flex-wrap: wrap; }
.brand { color: var(--ds-color-brand-title); font-size: 1.25rem; font-weight: 700; text-decoration: none; }
nav { display: flex; gap: .35rem 1.5rem; flex-wrap: wrap; }
nav a { display: inline-flex; align-items: center; min-height: 2.75rem; }
nav a[aria-current="page"] { color: var(--ds-color-text-primary); font-weight: 700; }
main { padding-block: 2.3rem 3rem; min-height: 56vh; }
h1 { color: var(--ds-color-brand-title); font-size: 2rem; line-height: 1.35; margin: 0 0 1rem; }
h2 { color: var(--ds-color-section-title); font-size: 1.35rem; line-height: 1.4; margin: 2.4rem 0 1rem; }
h3 { font-size: 1.1rem; margin: 1.5rem 0 .6rem; }
p { margin: .65rem 0; }
.intro { max-width: 44rem; }
.section-list { list-style: none; padding: 0; margin: 2rem 0 0; }
.section-list li { padding: 1.15rem 0; border-top: 1px solid var(--ds-color-border); }
.section-list a { font-size: 1.15rem; font-weight: 700; }
.section-list p, .note { color: var(--ds-color-text-muted); }
.letter-nav { display: flex; flex-wrap: wrap; gap: .3rem; padding: .8rem 0; border-block: 1px solid var(--ds-color-border); margin-top: 1.5rem; }
.letter-nav a { min-width: 2.75rem; min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; }
.letter-heading { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid var(--ds-color-border); }
.letter-heading h2 { margin: 1.7rem 0 .5rem; }
.letter-heading a { font-size: .9rem; }
.entries { margin: 0; }
.entry { padding: .85rem 0; border-bottom: 1px solid var(--ds-color-border); }
.entry dt { font-size: 1.3rem; font-weight: 700; line-height: 1.5; overflow-wrap: anywhere; }
.entry dd { margin: .2rem 0 0; }
.entry .word-type { color: var(--ds-color-text-muted); font-size: .9rem; }
[lang="la"], [lang="grc"] { font-family: "Gentium Plus", Georgia, serif; }
.table-region { max-width: 100%; overflow-x: auto; margin: .8rem 0 1.8rem; }
table { width: 100%; border-collapse: collapse; background: var(--ds-color-surface-raised); }
caption { text-align: left; font-weight: 700; margin-bottom: .55rem; }
th, td { padding: .55rem .8rem; border: 1px solid var(--ds-color-border); text-align: left; vertical-align: top; }
th { color: var(--ds-color-table-header); font-weight: 600; }
td[lang] { font-size: 1.15rem; }
.grammar-table { min-width: 26rem; }
.article-table { min-width: 40rem; }
.alphabet-table { max-width: 34rem; }
.alphabet-table td[lang] { font-size: 1.45rem; }
.site-footer { border-top: 1px solid var(--ds-color-border); padding-block: 1.4rem 2rem; font-size: .875rem; color: var(--ds-color-text-muted); }
.skip-link { position: absolute; left: 1rem; top: -6rem; padding: .6rem; background: var(--ds-color-surface-base); }
.skip-link:focus { top: .5rem; z-index: 10; }
.source-block { max-width: 46rem; }
@media (max-width: 40rem) {
  .wrap { padding-inline: 1rem; }
  main { padding-top: 1.5rem; }
  h1 { font-size: 1.6rem; }
  .header-inner { gap: .3rem; }
  nav { gap: .15rem 1rem; }
  .brand { width: 100%; }
  th, td { padding: .5rem .65rem; }
}
