/* Page-local reference layout; definitions remain in the initial HTML. */
.i-ching-glossary-page { min-width: 0; }
.i-ching-glossary-page main { color: var(--color-ink-900); font: 400 1.0625rem/1.9 var(--font-gothic); overflow-wrap: anywhere; }
.i-ching-glossary-page main * { min-width: 0; }
.i-ching-glossary-page main a { color: var(--color-ai-700); text-decoration: underline; text-underline-offset: .22em; }
.i-ching-glossary-page :focus-visible { outline: 3px solid var(--color-focus-on-light); outline-offset: 3px; }
.i-ching-glossary-page .brand-footer :focus-visible { outline-color: var(--color-focus-on-dark); }
.i-ching-glossary-page .skip-link { position: absolute; left: 12px; top: -200px; z-index: 1000; max-width: calc(100% - 24px); padding: 10px 16px; background: var(--color-surface); color: var(--color-ai-900); }
.i-ching-glossary-page .skip-link:focus { position: fixed; top: 12px; }
.i-ching-glossary-page .global-nav a[aria-current="location"] { text-decoration: underline; text-underline-offset: .25em; }
.i-ching-glossary-page main [id] { scroll-margin-block-start: var(--chrome-anchor-offset, 24px); }
.i-ching-glossary-page .compat-anchor { display: block; }
.i-ching-glossary-page .glossary-measure { max-width: 768px; padding-inline: 24px; margin-inline: auto; }
.i-ching-glossary-page .glossary-hero { padding-block: 40px; border-block: 1px solid var(--color-gold-decorative); background: linear-gradient(rgba(247,242,232,.94),rgba(247,242,232,.94)),url('/images/assets/bg_washi.png') repeat; }
.i-ching-glossary-page .glossary-hero__title { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-bottom: 24px; }
.i-ching-glossary-page .glossary-hero__title img { width: 64px; height: auto; }
.i-ching-glossary-page h1 { color: var(--color-ai-900); font: 500 2.5rem/1.4 var(--font-mincho); }
.i-ching-glossary-page main p + p { margin-top: 16px; }
.i-ching-glossary-page .glossary-article { max-width: 1040px; padding: 0 24px 72px; margin-inline: auto; }
.i-ching-glossary-page .glossary-article > * { max-width: 720px; margin-inline: auto; }
.i-ching-glossary-page h2 { color: var(--color-ai-900); font: 500 1.75rem/1.5 var(--font-mincho); margin-bottom: 24px; }
.i-ching-glossary-page .glossary-index { margin-top: 40px; }
.i-ching-glossary-page .glossary-index__row { display: grid; grid-template-columns: 4em minmax(0,1fr); gap: 16px; padding-block: 12px; border-bottom: 1px solid var(--color-gold-decorative); }
.i-ching-glossary-page .glossary-index dt { font-weight: 600; }
.i-ching-glossary-page .glossary-index ul { display: flex; flex-wrap: wrap; gap: 8px 16px; list-style: none; }
.i-ching-glossary-page .glossary-index a { display: block; min-height: 44px; padding-block: 8px; font-size: 1rem; }
.i-ching-glossary-page .glossary-guide { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 0 16px; padding: 16px; margin-block: 32px; border-left: 3px solid var(--color-gold-decorative); background: linear-gradient(rgba(247,242,232,.95),rgba(247,242,232,.95)),url('/images/assets/bg_washi.png') repeat; }
.i-ching-glossary-page .glossary-guide img { width: 64px; height: auto; grid-row: 1/3; align-self: end; }
.i-ching-glossary-page .glossary-guide__name { color: var(--color-gold-text-on-light); font: 700 .8125rem/1.6 var(--font-gothic); }
.i-ching-glossary-page .glossary-guide .glossary-guide__message { color: var(--color-ai-900); font: 500 1rem/1.9 var(--font-mincho); margin-top: 8px; }
.i-ching-glossary-page .glossary-group { margin-top: 64px; }
.i-ching-glossary-page .glossary-group > h2 { padding-bottom: 12px; border-bottom: 1px solid var(--color-gold-decorative); }
.i-ching-glossary-page .glossary-entry { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--color-border); }
.i-ching-glossary-page .glossary-group > h2 + .glossary-entry { border: 0; padding-top: 0; }
.i-ching-glossary-page h3 { color: var(--color-ai-900); font: 600 1.375rem/1.6 var(--font-mincho); margin-bottom: 16px; }
.i-ching-glossary-page .glossary-line { display: block; width: 72px; height: 6px; color: var(--color-ai-900); border-left: 72px solid currentColor; margin-bottom: 20px; }
.i-ching-glossary-page .glossary-line.is-yin { border-left-width: 28.8px; border-right: 28.8px solid currentColor; }
.i-ching-glossary-page .glossary-return { margin-top: 24px; }
.i-ching-glossary-page .glossary-return a, .i-ching-glossary-page .glossary-learning a { display: inline-block; min-height: 44px; padding-block: 8px; }
.i-ching-glossary-page .glossary-learning { margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--color-gold-decorative); }
.i-ching-glossary-page .glossary-learning ul { list-style: none; margin-bottom: 32px; }
.i-ching-glossary-page .glossary-learning li { padding-block: 16px; border-bottom: 1px solid var(--color-border); }
@media (max-width: 48em) {
  .i-ching-glossary-page .glossary-index__row { grid-template-columns: 1fr; gap: 0; }
  .i-ching-glossary-page .glossary-index ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 39.999em) {
  .i-ching-glossary-page main { font-size: 1rem; }
  .i-ching-glossary-page .glossary-measure, .i-ching-glossary-page .glossary-article { padding-inline: 16px; }
  .i-ching-glossary-page .glossary-hero { padding-block: 32px; }
  .i-ching-glossary-page .glossary-hero__title img { width: 48px; }
  .i-ching-glossary-page h1 { font-size: 2rem; }
  .i-ching-glossary-page h2 { font-size: 1.5rem; }
  .i-ching-glossary-page h3 { font-size: 1.25rem; }
  .i-ching-glossary-page .glossary-guide { grid-template-columns: 56px minmax(0,1fr); }
  .i-ching-glossary-page .glossary-guide img { width: 56px; }
}
@media (max-width: 31.999em) {
  .i-ching-glossary-page .glossary-guide img { grid-row: 1; }
  .i-ching-glossary-page .glossary-guide__name { align-self: center; }
  .i-ching-glossary-page .glossary-guide .glossary-guide__message { grid-column: 1/-1; margin-top: 16px; }
}
@media (max-width: 23.999em) {
  .i-ching-glossary-page .glossary-index ul { grid-template-columns: 1fr; }
}
@media (forced-colors: active) {
  .i-ching-glossary-page .glossary-line { color: CanvasText; }
}
