.term-glossary {
    --term-ink: #17191b;
    --term-muted: #5d656b;
    --term-rule: #d8dde1;
    --term-link: #246695;
    color: var(--term-ink);
    font-size: 15px;
    line-height: 1.7;
}
.term-glossary [hidden] { display: none !important; }
.term-glossary a { color: var(--term-link); transition: color .15s ease; }
.term-glossary a:hover { color: #123f60; text-decoration: underline; }
.term-glossary :is(a, button, input):focus-visible,
.term-glossary tr:focus-visible { outline: 2px solid var(--term-link); outline-offset: 4px; }
.term-glossary button { touch-action: manipulation; }
.term-heading { margin-bottom: 30px; }
.term-heading h1 { margin: 0 0 8px; font-size: clamp(28px, 3vw, 38px); font-weight: 600; line-height: 1.3; }
.term-heading p { margin: 0; color: var(--term-muted); font-size: 14px; }
.term-search { margin: 0 0 20px; max-width: 600px; }
.term-search label { margin-bottom: 7px; color: var(--term-ink); font-size: 14px; font-weight: 500; }
.term-search-field { display: flex; align-items: center; border: 1px solid #9fa9b1; background: #fff; border-radius: 3px; }
.term-search-field:focus-within { border-color: var(--term-link); box-shadow: 0 0 0 1px var(--term-link); }
.term-glossary #term-query { min-width: 0; width: 100%; height: 48px; padding: 10px 13px; margin: 0; border: 0; background: transparent; color: var(--term-ink); font: inherit; font-size: 16px; box-shadow: none; }
.term-glossary #term-query:focus-visible { outline-offset: -4px; }
.term-glossary #term-query::placeholder { color: #66727b; opacity: 1; }
.term-glossary .term-clear,
.term-glossary .term-reset { height: auto; min-height: 44px; padding: 7px 13px; margin: 0; border: 0; border-radius: 2px; background: transparent; color: var(--term-link); font: inherit; font-size: 14px; font-weight: 500; letter-spacing: 0; line-height: 1.5; text-transform: none; white-space: nowrap; }
.term-glossary :is(.term-clear, .term-reset):hover { background: #e8eef2; color: #123f60; }
.term-categories { display: flex; flex-wrap: wrap; gap: 0 24px; border-bottom: 1px solid var(--term-rule); }
.term-categories a { display: inline-flex; align-items: center; gap: 7px; min-height: 46px; padding: 9px 0; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--term-muted); font-size: 14px; text-decoration: none; }
.term-categories a:hover { color: var(--term-ink); text-decoration: none; border-color: #9da8b0; }
.term-categories a[aria-current] { color: var(--term-ink); border-color: var(--term-ink); font-weight: 600; }
.term-categories span { font-size: 12px; color: var(--term-muted); font-weight: 400; font-variant-numeric: tabular-nums; }
.term-result-count { margin: 15px 0 28px; color: var(--term-muted); font-size: 13px; font-variant-numeric: tabular-nums; }
.term-group { margin-bottom: 40px; scroll-margin-top: 100px; }
.term-group h2 { margin: 0 0 13px; font-size: 23px; line-height: 1.4; font-weight: 600; }
.term-group .term-group-note { margin: -4px 0 12px; color: var(--term-muted); font-size: 12px; }
.term-table { width: 100%; border-collapse: collapse; table-layout: fixed; margin: 0; font-size: 14px; line-height: 1.7; }
.term-col-en { width: 23%; }
.term-col-zh { width: 16%; }
.term-col-ja { width: 18%; }
.term-col-description { width: 43%; }
.term-table th, .term-table td { padding: 15px 14px 15px 0; border-bottom: 1px solid var(--term-rule); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.term-table th:last-child, .term-table td:last-child { padding-right: 0; }
.term-table thead th { padding-top: 8px; padding-bottom: 9px; color: var(--term-muted); font-size: 12px; font-weight: 400; border-bottom-color: #a8b1b8; }
.term-table tbody th { font-weight: 500; }
.term-table .term-zh { font-weight: 600; }
.term-glossary .term-anchor { color: var(--term-ink); }
.term-glossary .term-anchor:hover { color: var(--term-link); }
.term-table p { margin: 0; }
.term-table tr { scroll-margin-top: 105px; }
.term-table tr:target { background: #e7eff5; }
.term-ja { color: #454f57; }
.term-table .term-examples { margin-top: 5px; }
.term-meta { display: flex; flex-wrap: wrap; gap: 3px 12px; margin-top: 6px; font-size: 12px; color: var(--term-muted); }
.term-empty { padding: 35px 0 50px; }
.term-empty p { margin: 0 0 8px; }
.term-glossary .term-reset { padding-left: 0; }
.term-updated { margin: 10px 0 0; color: var(--term-muted); font-size: 12px; }
.term-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }

@media (max-width: 700px) {
    .term-heading { margin-bottom: 24px; padding-top: 22px; }
    .term-categories { column-gap: 20px; }
    .term-result-count { margin-bottom: 22px; }
    .term-group h2 { font-size: 21px; margin-bottom: 0; }
    .term-group .term-group-note { margin-top: 7px; }
    .term-table, .term-table tbody { display: block; width: 100%; }
    .term-table colgroup { display: none; }
    .term-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
    .term-table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4px 12px; padding: 19px 0; border-bottom: 1px solid var(--term-rule); }
    .term-table tbody th, .term-table tbody td { display: block; min-width: 0; padding: 0; border: 0; }
    .term-table .term-zh { grid-column: 1 / -1; grid-row: 1; font-size: 17px; }
    .term-table .term-en { grid-column: 1; grid-row: 2; font-size: 14px; }
    .term-table .term-ja { grid-column: 2; grid-row: 2; font-size: 13px; text-align: right; }
    .term-table .term-description { grid-column: 1 / -1; margin-top: 5px; font-size: 14px; }
    .term-table tr:target { box-shadow: 10px 0 #e7eff5, -10px 0 #e7eff5; }
}
@media (prefers-reduced-motion: reduce) {
    .term-glossary a { transition: none; }
}
