.keyword-help {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 34px;
  padding: .3rem .55rem;
  border: 1px dotted var(--muted);
  border-radius: 7px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
  font-size: .82rem;
  line-height: 1.3;
  text-align: left;
  cursor: help;
}
.keyword-help:hover { border-style: solid; background: var(--panel-2, var(--panel)); }
.keyword-help:focus-visible { outline: 3px solid var(--accent, #a9701b); outline-offset: 2px; }
.keyword-help-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.unit-keyword-help { margin-top: .65rem; padding-top: .5rem; border-top: 1px solid var(--line); }
.unit-keyword-help > p { margin: 0 0 .4rem; color: var(--muted); font-size: .78rem; }
.tutorial-keyword-help { margin-top: .6rem; }
.tutorial-keyword-help > summary { cursor: pointer; font-size: .85rem; }
.tutorial-keyword-help .keyword-help-chips { margin-top: .45rem; }
.tutorial-callout .keyword-help { background: var(--panel); color: var(--ink); border-color: var(--muted); white-space: normal; }
.keyword-rule-title.keyword-help { font-size: inherit; font-weight: 700; }
.keyword-dialog {
  width: min(34rem, calc(100vw - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow: auto;
  padding: 1.4rem;
  border: 1px solid var(--line);
  border-radius: 15px;
  color: var(--ink);
  background: var(--panel);
  box-shadow: 0 18px 70px #0006;
}
.keyword-dialog::backdrop { background: #101b20a6; }
.keyword-dialog header { display: flex; align-items: start; justify-content: space-between; gap: 1rem; }
.keyword-dialog h2 { margin: .15rem 0 .5rem; }
.keyword-dialog p { line-height: 1.6; }
.keyword-dialog .eyebrow { margin: 0; }
.keyword-dialog-detail { color: var(--muted); font-size: .88rem; }
#close-keyword-dialog { min-width: 44px; min-height: 44px; flex-shrink: 0; }
