.ddla-clavis-dictionary {
    --clavis-dict-accent: var(--ddla-clavis-accent, #d8b76a);
    --clavis-dict-sapphire: #7fc8ef;
    --clavis-dict-bg: rgba(12, 18, 28, .74);
    --clavis-dict-panel: rgba(255, 255, 255, .025);
    --clavis-dict-border: rgba(216, 183, 106, .24);
    --clavis-dict-text: #f4f1e8;
    --clavis-dict-muted: rgba(225, 232, 242, .68);
    width: 100%;
    color: var(--clavis-dict-text);
}
.ddla-clavis-dictionary *, .ddla-clavis-dictionary *::before, .ddla-clavis-dictionary *::after { box-sizing: border-box; }
.ddla-clavis-dictionary__header { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--clavis-dict-border); }
.ddla-clavis-dictionary__eyebrow { color: var(--clavis-dict-accent); font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.ddla-clavis-dictionary__header h2 { margin: 7px 0 8px; font-size: clamp(1.7rem, 3.5vw, 2.8rem); line-height: 1.05; }
.ddla-clavis-dictionary__header p { max-width: 720px; margin: 0; color: var(--clavis-dict-muted); }
.ddla-clavis-dictionary__count { flex: 0 0 auto; color: var(--clavis-dict-muted); font-size: .82rem; white-space: nowrap; }

.ddla-clavis-dictionary__tools { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 18px; }
.ddla-clavis-dictionary__search { position: relative; display: flex; align-items: center; flex: 1 1 560px; max-width: 720px; }
.ddla-clavis-dictionary__search svg { position: absolute; left: 15px; width: 18px; height: 18px; fill: none; stroke: var(--clavis-dict-accent); stroke-width: 1.7; pointer-events: none; }
.ddla-clavis-dictionary__search input { width: 100%; min-height: 48px; padding: 10px 16px 10px 45px; color: inherit; background: var(--clavis-dict-bg); border: 1px solid var(--clavis-dict-border); border-radius: 0; box-shadow: none; font: inherit; }
.ddla-clavis-dictionary__search input:focus { border-color: var(--clavis-dict-accent); outline: 2px solid color-mix(in srgb, var(--clavis-dict-accent) 22%, transparent); outline-offset: 1px; }
.ddla-clavis-dictionary__filters { display: flex; flex-wrap: wrap; gap: 6px; }
.ddla-clavis-dictionary__filters button, .ddla-clavis-dictionary__alphabet button { padding: 8px 11px; color: var(--clavis-dict-muted); background: transparent; border: 1px solid var(--clavis-dict-border); border-radius: 0; cursor: pointer; }
.ddla-clavis-dictionary__filters button span { margin-left: 4px; opacity: .62; font-size: .75em; }
.ddla-clavis-dictionary__filters button:hover, .ddla-clavis-dictionary__filters button:focus-visible, .ddla-clavis-dictionary__filters button.is-active, .ddla-clavis-dictionary__alphabet button:hover, .ddla-clavis-dictionary__alphabet button:focus-visible, .ddla-clavis-dictionary__alphabet button.is-active { color: #0d1520; background: var(--clavis-dict-accent); border-color: var(--clavis-dict-accent); outline: none; }
.ddla-clavis-dictionary__alphabet { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 20px; }
.ddla-clavis-dictionary__alphabet button { min-width: 34px; padding: 7px 9px; }

.ddla-clavis-dictionary__entries { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ddla-clavis-dictionary__entry { scroll-margin-top: 110px; border: 1px solid var(--clavis-dict-border); background: var(--clavis-dict-bg); transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.ddla-clavis-dictionary__entry[hidden] { display: none !important; }
.ddla-clavis-dictionary__entry:hover, .ddla-clavis-dictionary__entry.is-targeted { border-color: var(--clavis-dict-accent); box-shadow: 0 12px 34px rgba(0,0,0,.2); }
.ddla-clavis-dictionary__entry.is-targeted { transform: translateY(-2px); }
.ddla-clavis-dictionary__entry details { height: 100%; }
.ddla-clavis-dictionary__entry summary { display: grid; grid-template-columns: auto minmax(0, 1fr) 24px; gap: 14px; align-items: center; min-height: 92px; padding: 18px 20px; cursor: pointer; list-style: none; }
.ddla-clavis-dictionary__entry summary::-webkit-details-marker { display: none; }
.ddla-clavis-dictionary__badge { align-self: start; padding: 5px 7px; color: var(--clavis-dict-accent); border: 1px solid var(--clavis-dict-border); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.ddla-clavis-dictionary__entry--glossary .ddla-clavis-dictionary__badge { color: var(--clavis-dict-sapphire); border-color: color-mix(in srgb, var(--clavis-dict-sapphire) 38%, transparent); }
.ddla-clavis-dictionary__identity { display: grid; gap: 4px; min-width: 0; }
.ddla-clavis-dictionary__identity strong { color: inherit; font-size: 1.08rem; }
.ddla-clavis-dictionary__identity span { overflow: hidden; color: var(--clavis-dict-muted); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.ddla-clavis-dictionary__toggle { position: relative; width: 20px; height: 20px; }
.ddla-clavis-dictionary__toggle::before, .ddla-clavis-dictionary__toggle::after { content: ""; position: absolute; top: 50%; left: 50%; width: 13px; height: 1px; background: var(--clavis-dict-accent); transform: translate(-50%, -50%); transition: transform .16s ease; }
.ddla-clavis-dictionary__toggle::after { transform: translate(-50%, -50%) rotate(90deg); }
.ddla-clavis-dictionary__entry details[open] .ddla-clavis-dictionary__toggle::after { transform: translate(-50%, -50%) rotate(0deg); }
.ddla-clavis-dictionary__body { padding: 0 20px 20px; border-top: 1px solid rgba(216,183,106,.12); }
.ddla-clavis-dictionary__definition { margin: 18px 0; color: var(--clavis-dict-muted); line-height: 1.65; }
.ddla-clavis-dictionary__definition.is-empty { font-style: italic; opacity: .8; }
.ddla-clavis-dictionary__meta > span, .ddla-clavis-dictionary__relations > span { color: var(--clavis-dict-accent); font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ddla-clavis-dictionary__meta p { margin: 5px 0 16px; color: var(--clavis-dict-muted); }
.ddla-clavis-dictionary__relations ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 7px 0 18px; padding: 0; list-style: none; }
.ddla-clavis-dictionary__relations a { display: inline-flex; padding: 5px 8px; color: inherit; border: 1px solid var(--clavis-dict-border); text-decoration: none; font-size: .78rem; }
.ddla-clavis-dictionary__relations a:hover { color: var(--clavis-dict-accent); border-color: var(--clavis-dict-accent); }
.ddla-clavis-dictionary__link { display: inline-flex; gap: 8px; color: var(--clavis-dict-accent); font-weight: 650; text-decoration: none; }
.ddla-clavis-dictionary__link:hover { text-decoration: underline; }
.ddla-clavis-dictionary__no-results, .ddla-clavis-dictionary__empty { padding: 24px; color: var(--clavis-dict-muted); border: 1px solid var(--clavis-dict-border); background: var(--clavis-dict-bg); text-align: center; }

@media (max-width: 860px) {
    .ddla-clavis-dictionary__header, .ddla-clavis-dictionary__tools { align-items: stretch; flex-direction: column; }
    .ddla-clavis-dictionary__search { flex-basis: auto; max-width: none; }
    .ddla-clavis-dictionary__entries { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .ddla-clavis-dictionary__entry summary { grid-template-columns: 1fr 22px; }
    .ddla-clavis-dictionary__badge { grid-column: 1 / -1; justify-self: start; }
}
