.opengdd-authoring {
  --opengdd-author-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --opengdd-author-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --opengdd-author-bg: var(--_opengdd-author-theme-bg, #f3f1eb);
  --opengdd-author-surface: var(--_opengdd-author-theme-surface, #fffefa);
  --opengdd-author-surface-raised: var(--_opengdd-author-theme-surface-raised, #ffffff);
  --opengdd-author-surface-muted: var(--_opengdd-author-theme-surface-muted, #e9e6dd);
  --opengdd-author-ink: var(--_opengdd-author-theme-ink, #252a27);
  --opengdd-author-muted: var(--_opengdd-author-theme-muted, #666d68);
  --opengdd-author-line: var(--_opengdd-author-theme-line, #d4d0c5);
  --opengdd-author-line-strong: var(--_opengdd-author-theme-line-strong, #9d9b91);
  --opengdd-author-accent: var(--_opengdd-author-theme-accent, #176b57);
  --opengdd-author-accent-soft: var(--_opengdd-author-theme-accent-soft, #dceee7);
  --opengdd-author-danger: var(--_opengdd-author-theme-danger, #a03d32);
  --opengdd-author-warning: var(--_opengdd-author-theme-warning, #8a5a08);
  --opengdd-author-selection: var(--_opengdd-author-theme-selection, #b8ddcf);
  --opengdd-author-shadow: var(--_opengdd-author-theme-shadow, rgb(26 34 30 / 18%));
  --opengdd-author-kind-value: var(--_opengdd-author-theme-kind-value, #08769a);
  --opengdd-author-kind-section: var(--_opengdd-author-theme-kind-section, #23714a);
  --opengdd-author-kind-acceptance-test: var(--_opengdd-author-theme-kind-acceptance-test, #9a5c0a);
  --opengdd-author-kind-mood: var(--_opengdd-author-theme-kind-mood, #a23b6f);
  --opengdd-author-kind-question: var(--_opengdd-author-theme-kind-question, #a23b6f);
  --opengdd-author-kind-name: var(--_opengdd-author-theme-kind-name, #a23b6f);
  --opengdd-author-kind-collection: var(--_opengdd-author-theme-kind-collection, #6b5d1f);
  --opengdd-author-kind-collection-record: var(--_opengdd-author-theme-kind-collection-record, #9a442a);
  --opengdd-author-kind-contract: var(--_opengdd-author-theme-kind-contract, #6a4c93);
  --opengdd-author-kind-rule: var(--_opengdd-author-theme-kind-rule, #486a9c);
  --opengdd-author-kind-runtime: var(--_opengdd-author-theme-kind-runtime, #315d9b);
  --opengdd-author-kind-clock: var(--_opengdd-author-theme-kind-clock, #7a4b9e);
  --opengdd-author-kind-ruleset: var(--_opengdd-author-theme-kind-ruleset, #7d3d55);
  --opengdd-author-kind-palette: var(--_opengdd-author-theme-kind-palette, #00736b);
  --opengdd-author-kind-color: var(--_opengdd-author-theme-kind-color, #a0520d);
  --opengdd-author-kind-pillars: var(--_opengdd-author-theme-kind-pillars, #725b1b);
  --opengdd-author-kind-anti: var(--_opengdd-author-theme-kind-anti, #725b1b);
  --opengdd-author-kind-must_keep: var(--_opengdd-author-theme-kind-must_keep, #725b1b);
  --opengdd-author-kind-colors: var(--_opengdd-author-theme-kind-colors, #2e6d68);
  --opengdd-author-kind-contrast: var(--_opengdd-author-theme-kind-contrast, #2e6d68);
  --opengdd-author-kind-timing: var(--_opengdd-author-theme-kind-timing, #2e6d68);
  --opengdd-author-kind-file: var(--_opengdd-author-theme-kind-file, #666d68);
  --opengdd-author-kind-unknown: var(--_opengdd-author-theme-kind-unknown, #d1281c);
  --opengdd-author-kind-ambiguous: var(--_opengdd-author-theme-kind-ambiguous, #8150b4);
  --_opengdd-author-dark-bg: #151815;
  --_opengdd-author-dark-surface: #1c201d;
  --_opengdd-author-dark-surface-raised: #202521;
  --_opengdd-author-dark-surface-muted: #292e2a;
  --_opengdd-author-dark-ink: #edf0e9;
  --_opengdd-author-dark-muted: #aeb5ae;
  --_opengdd-author-dark-line: #3a413b;
  --_opengdd-author-dark-line-strong: #657067;
  --_opengdd-author-dark-accent: #8fd1ba;
  --_opengdd-author-dark-accent-soft: #243c33;
  --_opengdd-author-dark-danger: #ff9184;
  --_opengdd-author-dark-warning: #f5c168;
  --_opengdd-author-dark-selection: #315c4d;
  --_opengdd-author-dark-shadow: rgb(0 0 0 / 42%);
  --_opengdd-author-dark-kind-value: #63c8e8;
  --_opengdd-author-dark-kind-section: #82dba7;
  --_opengdd-author-dark-kind-acceptance-test: #f5c168;
  --_opengdd-author-dark-kind-mood: #f298c4;
  --_opengdd-author-dark-kind-question: #f298c4;
  --_opengdd-author-dark-kind-name: #f298c4;
  --_opengdd-author-dark-kind-collection: #d9c66a;
  --_opengdd-author-dark-kind-collection-record: #f39a79;
  --_opengdd-author-dark-kind-contract: #c7a7f2;
  --_opengdd-author-dark-kind-rule: #92b4e6;
  --_opengdd-author-dark-kind-runtime: #8bb8ff;
  --_opengdd-author-dark-kind-clock: #cf9cf3;
  --_opengdd-author-dark-kind-ruleset: #ed9bb9;
  --_opengdd-author-dark-kind-palette: #62d1c7;
  --_opengdd-author-dark-kind-color: #ffb066;
  --_opengdd-author-dark-kind-pillars: #e4cb70;
  --_opengdd-author-dark-kind-anti: #e4cb70;
  --_opengdd-author-dark-kind-must_keep: #e4cb70;
  --_opengdd-author-dark-kind-colors: #7ed0c7;
  --_opengdd-author-dark-kind-contrast: #7ed0c7;
  --_opengdd-author-dark-kind-timing: #7ed0c7;
  --_opengdd-author-dark-kind-file: #aeb5ae;
  --_opengdd-author-dark-kind-unknown: #ff6154;
  --_opengdd-author-dark-kind-ambiguous: #d19aff;
  --opengdd-author-workspace-height: min(52rem, calc(100vh - 8.2rem));
  position: relative;
  min-height: 36rem;
  background: var(--opengdd-author-bg);
  color: var(--opengdd-author-ink);
  font-family: var(--opengdd-author-font-sans);
  font-size: 16px;
  line-height: 1.5;
}

.opengdd-authoring,
.opengdd-authoring * {
  box-sizing: border-box;
}

.opengdd-authoring button,
.opengdd-authoring input,
.opengdd-authoring select,
.opengdd-authoring textarea {
  font: inherit;
}

.opengdd-authoring button,
.opengdd-author-import {
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.2rem;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  cursor: pointer;
}

.opengdd-authoring button {
  padding: 0.42rem 0.65rem;
}

.opengdd-authoring button:hover,
.opengdd-authoring button:focus-visible,
.opengdd-author-import:hover,
.opengdd-author-import:focus-within {
  border-color: var(--opengdd-author-accent);
  outline: 2px solid var(--opengdd-author-accent-soft);
  outline-offset: 1px;
}

.opengdd-authoring button:disabled {
  border-color: var(--opengdd-author-line-strong);
  color: var(--opengdd-author-ink);
  cursor: default;
  opacity: 0.45;
}

.opengdd-author-topbar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.8rem 2rem;
  align-items: center;
  min-height: 5.5rem;
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface);
}

.opengdd-author-title,
.opengdd-author-tree-panel h2,
.opengdd-author-inspector h2 {
  margin: 0;
  line-height: 1.1;
}

.opengdd-author-title {
  font-size: 1.35rem;
}

.opengdd-author-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.55rem;
  align-items: baseline;
}

.opengdd-author-version {
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.opengdd-author-kicker {
  margin: 0 0 0.15rem;
  color: var(--opengdd-author-accent);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.opengdd-author-loaders {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  align-items: end;
}

.opengdd-author-widget-drawer-controls {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.opengdd-author-source {
  display: grid;
  gap: 0.12rem;
}

.opengdd-author-source-label {
  margin: 0;
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.opengdd-author-source-row {
  display: flex;
  gap: 0.25rem;
  align-items: center;
}

.opengdd-author-loaders button,
.opengdd-author-loaders select,
.opengdd-author-loaders .opengdd-author-import {
  height: 2rem;
  min-height: 2rem;
  border-radius: 0.25rem;
  font-size: 0.78rem;
  line-height: 1;
}

.opengdd-author-loaders button,
.opengdd-author-loaders .opengdd-author-import {
  padding: 0.3rem 0.55rem;
}

.opengdd-author-loaders select,
.opengdd-author-inline-form input,
.opengdd-author-package-form input {
  min-height: 2.15rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.2rem;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
}

.opengdd-author-loaders select {
  width: min(17rem, 46vw);
  max-width: 17rem;
  min-height: 2rem;
  height: 2rem;
  padding: 0.3rem 1.8rem 0.3rem 0.5rem;
}

.opengdd-author-import {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.opengdd-author-import input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.opengdd-author-delete-anchor {
  position: relative;
  display: inline-flex;
}

.opengdd-author-draft-confirm {
  position: absolute;
  z-index: 30;
  top: calc(100% + 0.35rem);
  right: 0;
  display: grid;
  width: max-content;
  max-width: min(18rem, calc(100vw - 2rem));
  gap: 0.45rem;
  padding: 0.6rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-danger);
  font-size: 0.75rem;
  box-shadow: 0 0.7rem 1.5rem var(--opengdd-author-shadow);
}

.opengdd-author-draft-confirm[hidden] {
  display: none;
}

.opengdd-author-draft-confirm p {
  max-width: 15rem;
  margin: 0;
}

.opengdd-author-draft-confirm-actions {
  display: flex;
  gap: 0.25rem;
}

.opengdd-author-draft-confirm button {
  padding: 0.2rem 0.35rem;
  border-color: var(--opengdd-author-danger);
}

.opengdd-author-create-dialog {
  position: fixed;
  z-index: 40;
  display: grid;
  width: min(24rem, calc(100vw - 1rem));
  max-height: calc(100vh - 1rem);
  overflow: auto;
  gap: 0.3rem;
  box-sizing: border-box;
  padding: 0.75rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  box-shadow: 0 0.7rem 1.5rem var(--opengdd-author-shadow);
  font-size: 0.75rem;
}

.opengdd-author-create-dialog[hidden] {
  display: none;
}

.opengdd-author-create-dialog h3,
.opengdd-author-create-dialog p {
  margin: 0;
}

.opengdd-author-create-dialog h3 {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
}

.opengdd-author-create-dialog label {
  margin-top: 0.35rem;
  font-weight: 700;
}

.opengdd-author-create-dialog input,
.opengdd-author-create-dialog select,
.opengdd-author-create-dialog textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 0.4rem 0.45rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface);
  color: var(--opengdd-author-ink);
}

.opengdd-author-create-dialog textarea {
  min-height: 5rem;
  resize: vertical;
  font: 0.68rem/1.35 "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.opengdd-author-contract-drop {
  display: grid;
  gap: 0.3rem;
  padding: 0.55rem;
  border: 1px dashed var(--opengdd-author-line-strong);
}

.opengdd-author-create-help,
.opengdd-author-create-preview {
  color: var(--opengdd-author-muted);
}

.opengdd-author-create-preview {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.opengdd-author-create-error {
  min-height: 1.1em;
  color: var(--opengdd-author-danger);
}

.opengdd-author-create-skip {
  justify-self: start;
  margin-top: 0.25rem;
}

.opengdd-author-create-skip[aria-pressed="true"] {
  border-color: var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
}

.opengdd-author-create-actions {
  display: flex;
  justify-content: end;
  gap: 0.35rem;
  margin-top: 0.45rem;
}

.opengdd-author-notice {
  grid-column: 1 / -1;
  min-height: 1rem;
  margin: 0;
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
}

.opengdd-author-notice.opengdd-author-is-error {
  color: var(--opengdd-author-danger);
}

.opengdd-author-file-notice {
  margin: 0;
  padding: 0.45rem 0.65rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-muted);
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
  line-height: 1.4;
}

.opengdd-author-file-notice[hidden] { display: none; }

.opengdd-author-package-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.85rem;
  align-items: end;
}

.opengdd-author-package-form[hidden] {
  display: none;
}

/* While a package is being named, the form stands where the package
   controls were, so the header keeps its one row. */
.opengdd-author-topbar:has(.opengdd-author-package-form:not([hidden])) .opengdd-author-loaders {
  display: none;
}

.opengdd-author-package-form label {
  display: grid;
  gap: 0.12rem;
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.opengdd-author-package-form input {
  width: min(12rem, 40vw);
  height: 2rem;
  padding: 0.3rem 0.5rem;
  font-size: 0.78rem;
}

.opengdd-author-package-form button {
  height: 2rem;
  padding: 0.3rem 0.55rem;
  border-radius: 0.25rem;
  font-size: 0.78rem;
  line-height: 1;
  white-space: nowrap;
}

.opengdd-author-workspace {
  position: relative;
  display: grid;
  grid-template-columns: minmax(14rem, 0.24fr) minmax(28rem, 1fr) minmax(16rem, 0.28fr);
  height: var(--opengdd-author-workspace-height);
  min-height: 32rem;
}

.opengdd-author-tree-panel,
.opengdd-author-editor-panel,
.opengdd-author-inspector {
  min-width: 0;
  background: var(--opengdd-author-surface);
}

.opengdd-author-tree-panel,
.opengdd-author-inspector {
  overflow: auto;
  padding: 1rem;
}

.opengdd-author-panel-inspector {
  min-width: 16rem;
  min-height: 12rem;
}

.opengdd-author-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.opengdd-author-panel-header p {
  margin: 0;
}

.opengdd-author-panel-header select {
  min-width: 0;
  max-width: 10rem;
}

.opengdd-author-panel-stage,
.opengdd-author-panel-stage > [data-panel] {
  min-width: 0;
}

.opengdd-author-panel-companion {
  margin-top: 1rem;
  padding-top: 0.8rem;
  border-top: 1px solid var(--opengdd-author-line);
}

.opengdd-author-panel-companion > h3,
.opengdd-author-diagnostic-panel {
  color: var(--opengdd-author-accent);
  font-size: 0.72rem;
  font-weight: 750;
}

.opengdd-author-panel-companion > h3 {
  margin: 0 0 0.65rem;
}

.opengdd-author-diagnostic-panel {
  white-space: nowrap;
}

.opengdd-author-panel-group {
  display: grid;
  min-width: 0;
  gap: 0.65rem;
}

.opengdd-author-panel-group > h3 {
  display: flex;
  min-width: 0;
  align-items: center;
  margin: 0;
  color: var(--opengdd-author-accent);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.opengdd-author-panel-group > .opengdd-author-sidebar-panel-header {
  box-sizing: border-box;
  height: 2.7rem;
  min-height: 2.7rem;
  padding: 0.6rem 0.8rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-muted);
  color: var(--opengdd-author-ink);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.opengdd-author-panel-state > :first-child,
.opengdd-author-panel-stage > :first-child {
  margin-top: 0;
}

.opengdd-author-panel-group .opengdd-author-panel-badge {
  margin-left: auto;
  color: var(--opengdd-author-muted);
}

.opengdd-author-form,
.opengdd-author-record-form,
.opengdd-author-record-unknown,
.opengdd-author-record-not-checked {
  display: grid;
  gap: var(--opengdd-inspector-row-gap);
  min-width: 0;
}

.opengdd-author-form-field,
.opengdd-author-record-free-row,
.opengdd-author-record-unknown-row {
  display: grid;
  gap: var(--opengdd-inspector-row-gap);
  min-width: 0;
  margin: 0;
}

.opengdd-author-form-row-grid {
  display: grid;
  grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr) auto;
  gap: var(--opengdd-inspector-row-gap);
  align-items: center;
  min-width: 0;
}

.opengdd-author-form:has(> .opengdd-author-form-field > button) > .opengdd-author-form-field {
  grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr) var(--opengdd-inspector-action);
}

.opengdd-author-form-field > :is(label, p:first-child:not([class])) {
  grid-column: 1;
  grid-row: 1;
}

.opengdd-author-form-field > :is(input, textarea, select, .opengdd-author-form-enum,
  .opengdd-author-form-choice, .opengdd-author-form-link, .opengdd-author-form-lines,
  .opengdd-author-promise-color-control) {
  grid-column: 2;
  grid-row: 1;
}

.opengdd-author-form-field > button {
  grid-column: 3;
  grid-row: 1;
  justify-self: start;
}

.opengdd-author-form-field > :is(.opengdd-author-form-note, .opengdd-author-form-error,
  .opengdd-author-form-finding) {
  grid-column: 2 / -1;
}

.opengdd-author-form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: var(--opengdd-inspector-row-gap);
  align-items: center;
  min-width: 0;
  padding-block: var(--opengdd-inspector-row-gap);
  border-top: 1px solid var(--opengdd-author-line);
}

.opengdd-author-form-row--shared > .opengdd-author-form-field {
  display: contents;
}

.opengdd-author-form-row--shared > .opengdd-author-form-field > :is(input, textarea, select,
  .opengdd-author-form-enum, .opengdd-author-form-choice, .opengdd-author-form-link,
  .opengdd-author-form-lines, .opengdd-author-promise-color-control, button) {
  grid-column: auto;
  grid-row: 1;
}

.opengdd-author-form-row--shared {
  grid-template-columns: repeat(var(--opengdd-form-shared-columns), minmax(8rem, 1fr)) auto;
}

.opengdd-author-form-row--shared[data-form-shared-columns="1"] {
  grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr) auto;
}

.opengdd-author-form:has(.opengdd-author-form-row--shared[data-form-shared-columns="1"] button)
  .opengdd-author-form-row--shared[data-form-shared-columns="1"] {
  grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr) var(--opengdd-inspector-action);
}

.opengdd-author-form-row--shared[data-form-shared-columns="1"] > .opengdd-author-form-shared-help {
  grid-column: 1;
  grid-row: 1;
}

.opengdd-author-form-row--shared[data-form-shared-columns="1"] > .opengdd-author-form-field > :is(input, textarea, select,
  .opengdd-author-form-enum, .opengdd-author-form-choice, .opengdd-author-form-link,
  .opengdd-author-form-lines, .opengdd-author-promise-color-control) {
  grid-column: 2;
}

.opengdd-author-form-row--shared[data-form-shared-columns="1"] > .opengdd-author-form-field > button {
  grid-column: 3;
  width: max-content;
  justify-self: start;
}

.opengdd-author-form-row--shared[data-form-shared-first]:not([data-form-shared-columns="1"])
  > .opengdd-author-form-field > :is(input, textarea, select, .opengdd-author-form-enum,
  .opengdd-author-form-choice, .opengdd-author-form-link, .opengdd-author-form-lines,
  .opengdd-author-promise-color-control) {
  grid-row: 2;
}

.opengdd-author-form-row--shared > .opengdd-author-form-field > .opengdd-author-direction-row-actions {
  grid-column: -2 / -1;
  grid-row: 1;
}

.opengdd-author-form-row--shared[data-form-shared-first]:not([data-form-shared-columns="1"])
  > .opengdd-author-form-field > .opengdd-author-direction-row-actions {
  grid-row: 2;
}

.opengdd-author-form-row--shared > .opengdd-author-form-field > :is(.opengdd-author-form-note,
  .opengdd-author-form-error, .opengdd-author-form-finding) {
  grid-column: 1 / -1;
}

.opengdd-author-form-shared-help {
  display: grid;
  grid-template-columns: repeat(var(--opengdd-form-shared-columns), minmax(8rem, 1fr));
  gap: var(--opengdd-inspector-row-gap);
  grid-column: 1 / -2;
  grid-row: 1;
}

.opengdd-author-form-shared-label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem;
  margin: 0;
  font-size: var(--opengdd-inspector-label-size);
  color: var(--opengdd-author-muted);
  font-family: var(--opengdd-author-font-sans);
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1.35;
  text-transform: uppercase;
}

[data-panel="opengdd.palette"] .opengdd-author-form-shared-help {
  grid-template-columns: 3rem minmax(7rem, 1fr) minmax(8rem, 1fr);
  grid-column: 1 / 4;
}

[data-panel="opengdd.palette"] .opengdd-author-form-row {
  grid-template-columns: 3rem minmax(7rem, 1fr) minmax(8rem, 1fr) auto;
  min-height: 2.5rem;
  padding-block: 0.2rem;
}

[data-panel="opengdd.palette"] .opengdd-author-form-row[data-form-shared-first]
  :is([data-palette-color-name], [data-palette-color-hex], [data-palette-swatch], .opengdd-author-palette-row-actions) {
  grid-row: 2;
}

[data-panel="opengdd.palette"] [data-palette-color-name] {
  grid-column: 2;
}

[data-panel="opengdd.palette"] [data-palette-color-hex] {
  grid-column: 3;
}

[data-panel="opengdd.palette"] .opengdd-author-form-row :is(.opengdd-author-form-note,
  .opengdd-author-form-finding, .opengdd-author-form-error:not([hidden])) {
  grid-column: 2 / -1;
}

[data-panel="opengdd.palette"][data-size="compact"] .opengdd-author-form-row {
  grid-template-columns: 2rem minmax(5.5rem, 1fr) minmax(6.5rem, 1fr);
}

.opengdd-author-palette-swatch {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.25rem;
}

[data-panel="opengdd.palette"] [data-palette-swatch] {
  grid-column: 1;
  grid-row: 1;
}

.opengdd-author-direction-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-top: 0.4rem;
}

.opengdd-author-direction-citations {
  display: block;
  color: var(--opengdd-author-muted);
  font-size: 0.78rem;
  margin-top: 0.3rem;
}

.opengdd-author-direction-add,
.opengdd-author-direction-owned,
.opengdd-author-mood-citations,
.opengdd-author-promise-add,
.opengdd-author-promise-coverage {
  border-top: 1px solid var(--opengdd-author-line);
  padding-top: 0.45rem;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-promise-color-control {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-promise-color-control select {
  flex: 1 1 auto;
  min-width: 0;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-form-row {
  grid-template-columns: minmax(0, 1fr) auto;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-form-shared-help {
  grid-template-columns: minmax(0, 1fr);
  grid-column: 1;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-form-row[data-form-shared-first]
  :is(.opengdd-author-promise-color-control, [data-promise-remove-color]) {
  grid-row: 2;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-form-row .opengdd-author-promise-color-control {
  grid-column: 1;
}

[data-panel="opengdd.direction-promise"] [data-promise-remove-color] {
  grid-column: 2;
  grid-row: 1;
}

[data-panel="opengdd.direction-promise"] .opengdd-author-form-row .opengdd-author-form-finding,
[data-panel="opengdd.direction-promise"] .opengdd-author-form-row .opengdd-author-form-error:not([hidden]) {
  grid-column: 1 / -1;
}

.opengdd-author-mood-swatches {
  display: inline-flex;
  gap: 0.2rem;
  margin-top: 0.4rem;
}

.opengdd-author-mood-swatches .opengdd-author-palette-swatch {
  width: 1.1rem;
  height: 1.1rem;
}

.opengdd-author-palette-row-actions {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  grid-column: 4;
  grid-row: 1;
}

.opengdd-author-palette-row-actions button {
  min-height: 2rem;
}

[data-panel="opengdd.palette"][data-size="compact"] .opengdd-author-palette-row-actions {
  grid-column: 1 / -1;
  grid-row: 2;
}

[data-panel="opengdd.palette"][data-size="compact"] .opengdd-author-form-row[data-form-shared-first]
  .opengdd-author-palette-row-actions {
  grid-row: 3;
}

.opengdd-author-palette-add {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  justify-content: flex-start;
}

.opengdd-author-form-field > label {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 0.25em;
}

.opengdd-author-form-field > :is(label, p:first-child:not([class])),
.opengdd-author-form-shared-label,
.opengdd-author-reference-label,
.opengdd-author-panel-stage :is([data-fields-table], [data-record-table], .opengdd-author-form-lines) thead th,
.opengdd-author-section-facts-list dt {
  color: var(--opengdd-author-muted);
  font-family: var(--opengdd-author-font-sans);
  font-size: var(--opengdd-inspector-label-size);
  font-weight: 700;
  letter-spacing: 0.045em;
  line-height: 1.35;
  text-transform: uppercase;
}

.opengdd-author-form-label-tail,
.opengdd-author-form-required {
  color: inherit;
  font: inherit;
  white-space: nowrap;
}

.opengdd-author-record-free-row > label {
  display: grid;
  gap: 0.2rem;
  font-weight: 650;
}

.opengdd-author-form input:not([type="checkbox"]),
.opengdd-author-form textarea,
.opengdd-author-form select,
.opengdd-author-record-free-row input,
.opengdd-author-record-free-row select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.25rem;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  font: inherit;
}

.opengdd-author-form input:not([type="checkbox"]),
.opengdd-author-form select {
  height: var(--opengdd-inspector-control-height);
}

.opengdd-author-form textarea {
  min-height: calc(3em + 0.7rem + 2px);
  overflow-y: hidden;
  resize: vertical;
}

.opengdd-authoring .opengdd-author-form .opengdd-author-form-monospace,
.opengdd-authoring .opengdd-author-form-link code,
.opengdd-authoring .opengdd-author-record-form code,
.opengdd-authoring .opengdd-author-identifier,
.opengdd-authoring .opengdd-author-location-row-file,
.opengdd-authoring .opengdd-author-entity-chip > span:first-child {
  font-family: var(--opengdd-author-font-mono);
}

.opengdd-author-form-help,
.opengdd-author-form-note,
.opengdd-author-form-error {
  margin: 0;
  font-family: var(--opengdd-author-font-sans);
  font-size: 0.78rem;
}

.opengdd-author-form-field[data-form-type="longtext"],
.opengdd-author-form-field[data-form-type="list"],
.opengdd-author-form-field[data-form-type="choice"],
.opengdd-author-form-field[data-form-type="link"],
.opengdd-author-form-field[data-form-type="lines"] {
  align-items: start;
}

.opengdd-author-form-field[data-form-type="longtext"] > :is(label, p:first-child:not([class])),
.opengdd-author-form-field[data-form-type="list"] > :is(label, p:first-child:not([class])),
.opengdd-author-form-field[data-form-type="choice"] > :is(label, p:first-child:not([class])),
.opengdd-author-form-field[data-form-type="link"] > :is(label, p:first-child:not([class])),
.opengdd-author-form-field[data-form-type="lines"] > :is(label, p:first-child:not([class])) {
  padding-block-start: calc(0.35rem + 1px);
}

.opengdd-author-form-field > [data-form-help],
.opengdd-author-form-shared-help [data-form-help] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.opengdd-author-form-field:focus-within > [data-form-help] {
  position: static;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
  grid-column: 2 / -1;
}

[data-size="compact"] .opengdd-author-form-field[data-form-type="longtext"] > label {
  grid-column: 1 / -1;
}

[data-size="compact"] .opengdd-author-form-field[data-form-type="longtext"] > textarea {
  grid-column: 1 / -1;
  grid-row: 2;
}

.opengdd-author-form-finding {
  margin: 0;
  color: var(--opengdd-author-danger);
  font-size: 0.78rem;
  white-space: pre-wrap;
}

.opengdd-author-tuning-rules li,
.opengdd-author-tuning-duplicate {
  display: grid;
  gap: 0.35rem;
}

.opengdd-author-tuning-rules code {
  overflow-wrap: anywhere;
}

.opengdd-author-entity-inspector ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

[data-panel="opengdd.tuning-rule"] .opengdd-author-tuning-rule-values li {
  display: block;
}

[data-panel="opengdd.tuning-rule"] .opengdd-author-tuning-rule-values button {
  display: inline-block;
  width: auto;
  justify-self: start;
  text-align: left;
}

.opengdd-author-tuning-duplicate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.opengdd-author-tuning-duplicate-status {
  margin: 0;
  color: var(--opengdd-author-danger);
}

[data-panel="opengdd.clock"] [data-form-row^="advances-"] > .opengdd-author-form-field > select {
  grid-column: 2;
  grid-row: 1;
}

[data-panel="opengdd.clock"] [data-form-row^="advances-"] > .opengdd-author-form-field > button:last-child {
  grid-column: 3;
  grid-row: 1;
}

[data-panel="opengdd.clock"] [data-form-row^="mode-"] > .opengdd-author-form-field > .opengdd-author-form-enum {
  grid-column: 2;
  grid-row: 1;
}

[data-panel="opengdd.clock"] [data-form-row^="mode-"] > .opengdd-author-form-field > button:last-child {
  grid-column: 3;
  grid-row: 1;
}

[data-panel="opengdd.clock"] .opengdd-author-form-row :is(
  .opengdd-author-form-help,
  .opengdd-author-form-note,
  .opengdd-author-form-error,
  .opengdd-author-form-finding
) {
  grid-column: 1 / -1;
}

.opengdd-author-clock-group,
.opengdd-author-clock-action,
.opengdd-author-clock-advance-after {
  display: grid;
  gap: 0.4rem;
}

.opengdd-author-clock-group,
.opengdd-author-clock-runtime,
.opengdd-author-clock-citations,
.opengdd-author-time-runtime {
  border-top: 1px solid var(--opengdd-author-line);
  padding-top: 0.7rem;
}

.opengdd-author-clock-action {
  justify-items: start;
}

.opengdd-author-panel-stage {
  --opengdd-inspector-body-size: 0.8rem;
  --opengdd-inspector-label-size: 0.66rem;
  --opengdd-inspector-row-gap: 0.3rem;
  --opengdd-inspector-group-gap: 0.55rem;
  --opengdd-inspector-button-padding: 0.2rem 0.5rem;
  --opengdd-inspector-label: 7.5rem;
  --opengdd-inspector-action: 10.5rem;
  --opengdd-inspector-control-height: 2rem;
  font-size: var(--opengdd-inspector-body-size);
}

.opengdd-author-entity-inspector {
  min-width: 0;
  container-type: inline-size;
}

.opengdd-author-entity-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--opengdd-inspector-row-gap);
}

.opengdd-author-entity-header > h2 {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.95rem;
}

.opengdd-author-entity-header > .opengdd-author-classification {
  margin: 0;
}

.opengdd-author-entity-header > :is(.opengdd-author-form-error, .opengdd-author-form-help) {
  flex: 1 0 100%;
}

.opengdd-author-inspector-sections {
  display: grid;
  gap: var(--opengdd-inspector-group-gap);
}

.opengdd-author-entity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--opengdd-inspector-row-gap);
  margin-inline-start: auto;
}

.opengdd-author-entity-actions button,
.opengdd-author-form-row button,
.opengdd-author-reference-group button {
  width: max-content;
  padding: var(--opengdd-inspector-button-padding);
}

.opengdd-author-entity-actions button {
  min-width: 0;
  border-color: var(--opengdd-author-line);
  font-size: var(--opengdd-inspector-label-size);
}

.opengdd-author-entity-actions label {
  display: flex;
  align-items: center;
  gap: var(--opengdd-inspector-row-gap);
  color: var(--opengdd-author-muted);
  font-family: var(--opengdd-author-font-sans);
  font-size: var(--opengdd-inspector-label-size);
  font-weight: 700;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.opengdd-author-entity-actions input {
  width: 9rem;
  height: var(--opengdd-inspector-control-height);
  min-width: 0;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.25rem;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
}

.opengdd-author-reference-group {
  display: grid;
  grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr);
  align-items: start;
  gap: var(--opengdd-inspector-row-gap);
  min-width: 0;
  margin: 0;
}

.opengdd-author-reference-label {
  display: flex;
  align-items: center;
  min-height: 1.7rem;
  margin: 0;
}

.opengdd-author-reference-label-text {
  min-width: 0;
}

.opengdd-author-reference-label-tail {
  white-space: nowrap;
}

.opengdd-author-reference-count {
  color: var(--opengdd-author-muted);
  font-size: 0.68rem;
  font-variant-numeric: tabular-nums;
}

.opengdd-author-reference-content,
.opengdd-author-reference-rows,
.opengdd-author-entity-chips,
.opengdd-author-entity-chip-row,
.opengdd-author-reference-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--opengdd-inspector-row-gap);
  min-width: 0;
}

.opengdd-author-reference-content {
  min-height: 1.7rem;
}

.opengdd-author-reference-content:has(> .opengdd-author-reference-action) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--opengdd-inspector-action);
  align-items: center;
}

.opengdd-author-reference-content > :is(.opengdd-author-form-error, .opengdd-author-form-help) {
  flex: 1 0 100%;
}

.opengdd-author-reference-content:has(> .opengdd-author-reference-action)
  > :is(.opengdd-author-form-error, .opengdd-author-form-help) {
  grid-column: 1 / -1;
}

.opengdd-author-reference-rows {
  align-items: flex-start;
}

.opengdd-author-reference-content > div {
  flex: 1 1 auto;
}


.opengdd-author-reference-content > :is(.opengdd-author-reference-rows, .opengdd-author-reference-none) {
  flex: 1 1 0;
}

.opengdd-author-reference-chip {
  width: auto;
  min-width: 0;
  border-radius: 999px;
  text-align: start;
}

.opengdd-author-location-rows {
  display: grid;
  gap: var(--opengdd-inspector-row-gap);
  min-width: 0;
}

.opengdd-author-reference-group .opengdd-author-location-row {
  display: grid;
  grid-template-columns: minmax(0, auto) auto minmax(0, 1fr);
  align-items: baseline;
  gap: var(--opengdd-inspector-row-gap);
  width: 100%;
  min-width: 0;
  padding: 0.1rem 0.25rem;
  border-color: transparent;
  border-radius: 0.2rem;
  background: transparent;
  text-align: start;
}

.opengdd-author-reference-group .opengdd-author-location-row:hover,
.opengdd-author-reference-group .opengdd-author-location-row:focus-visible {
  border-color: transparent;
  background: var(--opengdd-author-surface-muted);
}

.opengdd-author-location-rows {
  gap: 0.1rem;
}

.opengdd-author-location-row-file {
  white-space: nowrap;
}

.opengdd-author-location-row-line,
.opengdd-author-location-row-excerpt {
  color: var(--opengdd-author-muted);
}

.opengdd-author-location-row-line {
  font-variant-numeric: tabular-nums;
}

.opengdd-author-location-row-excerpt {
  display: -webkit-box;
  overflow: hidden;
  overflow-wrap: anywhere;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.opengdd-author-entity-chip {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
}

.opengdd-author-entity-chip-row {
  align-items: baseline;
}

.opengdd-author-entity-chip .opengdd-author-reference-kind {
  margin: 0 0 0 0.4rem;
  padding: 0.08rem 0.3rem;
  font-size: 0.58rem;
}

.opengdd-author-reference-detail,
.opengdd-author-reference-none {
  color: var(--opengdd-author-muted);
}

.opengdd-author-reference-action {
  grid-column: 2;
  width: max-content;
  max-width: 100%;
  margin-inline-start: 0;
  justify-self: start;
}

.opengdd-author-inspector-summary > summary {
  cursor: pointer;
  font-weight: 650;
}

.opengdd-author-form-help,
.opengdd-author-form-note {
  color: var(--opengdd-author-muted);
  font-weight: 400;
}

.opengdd-author-form-error,
.opengdd-author-record-unknown {
  color: var(--opengdd-author-danger);
}

.opengdd-author-form-field--error input,
.opengdd-author-form-field--error textarea,
.opengdd-author-form-field--error select {
  border-color: var(--opengdd-author-danger);
}

.opengdd-author-form-enum,
.opengdd-author-record-breadcrumb,
.opengdd-author-form-link-row,
.opengdd-author-record-unknown-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.opengdd-author-form-enum--chosen {
  border-color: var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
}

.opengdd-author-form-enum button {
  display: inline-grid;
  grid-template-columns: 1em auto;
  align-items: center;
  height: var(--opengdd-inspector-control-height);
  min-height: var(--opengdd-inspector-control-height);
  column-gap: var(--opengdd-inspector-row-gap);
  padding-block: var(--opengdd-inspector-button-padding);
}

.opengdd-author-form-enum button::before {
  width: 1em;
  content: "";
  text-align: center;
}

.opengdd-author-form-enum button.opengdd-author-form-enum--chosen::before {
  content: "\2713";
}

.opengdd-author-form-choice {
  display: grid;
  gap: 0.45rem;
}

.opengdd-author-form-choice button {
  inline-size: 100%;
  padding: 0.65rem;
  border: 1px solid var(--opengdd-author-line);
  border-radius: 0.3rem;
  color: inherit;
  background: var(--opengdd-author-surface);
  text-align: start;
  white-space: normal;
}

.opengdd-author-form-choice button.opengdd-author-form-choice--chosen {
  border-width: 3px;
  border-color: var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
}

[data-choice-tag] {
  font-weight: 700;
  color: var(--opengdd-author-accent);
}

.opengdd-author-form-link,
.opengdd-author-form-lines {
  display: grid;
  gap: 0.4rem;
  min-width: 0;
}

.opengdd-author-form-link-row {
  justify-content: space-between;
}

.opengdd-author-form-lines {
  overflow-x: auto;
}

.opengdd-author-form-lines table {
  width: 100%;
  border-collapse: collapse;
}

.opengdd-author-form-lines th,
.opengdd-author-form-lines td {
  padding: 0.3rem;
  border: 1px solid var(--opengdd-author-line);
  text-align: left;
  vertical-align: top;
}

.opengdd-author-collection,
[data-collection-fields],
[data-collection-fields-host] {
  min-width: 0;
  max-width: 100%;
}

[data-collection-fields-host],
.opengdd-author-record-table-host {
  overflow-x: auto;
}

[data-collection-header] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid var(--opengdd-author-line);
}

[data-collection-header] label {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

[data-fields-table] {
  table-layout: auto;
  width: max-content;
  min-width: 100%;
  max-width: none;
  border-collapse: collapse;
  font-size: 0.72rem;
}

[data-fields-table] th,
[data-fields-table] td {
  position: relative;
  min-width: 5.5rem;
  padding: 0.12rem 0.18rem;
  border: 0;
  border-bottom: 1px solid var(--opengdd-author-line);
  text-align: left;
  vertical-align: middle;
}

[data-fields-table] th:first-child,
[data-fields-table] td:first-child {
  min-width: 8rem;
}

[data-fields-table] th:nth-child(8),
[data-fields-table] td:nth-child(8) {
  min-width: 20rem;
}

[data-fields-table] thead th {
  color: var(--opengdd-author-muted);
  font-size: var(--opengdd-inspector-label-size);
  font-weight: 700;
  white-space: nowrap;
}

[data-collection-field] {
  height: 2.2rem;
}

[data-collection-field][data-field-depth="1"] > th,
[data-field-extras][data-field-depth="1"] > td {
  padding-inline-start: 1rem;
}

[data-fields-table] input[type="text"],
[data-fields-table] input:not([type]),
[data-fields-table] select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  height: 1.75rem;
  padding: 0.12rem 0.2rem;
}

[data-fields-table] [data-field-name] {
  width: auto;
  min-width: 7.5rem;
  max-width: none;
}

[data-fields-table] button {
  padding: 0.16rem 0.28rem;
  white-space: nowrap;
}

[data-fields-table] [data-field-error]:empty,
[data-record-table] [data-row-error]:empty {
  display: none;
}

[data-field-extras] td {
  position: relative;
  padding-block: 0.08rem 0.2rem;
  color: var(--opengdd-author-muted);
}

[data-field-extras-button] {
  max-width: 100%;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  text-overflow: ellipsis;
}

.opengdd-author-field-popover,
[data-choices-editor],
[data-when-editor] {
  position: absolute;
  z-index: 4;
  display: grid;
  width: min(20rem, calc(100vw - 2rem));
  gap: 0.4rem;
  padding: 0.6rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.3rem;
  background: var(--opengdd-author-surface-raised);
  box-shadow: 0 0.35rem 1rem var(--opengdd-author-shadow);
  color: var(--opengdd-author-ink);
}

[data-fields-kind-legend] {
  margin: 0.35rem 0;
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
}

[data-record-table] {
  width: 100%;
  min-width: max-content;
  border-collapse: collapse;
}

[data-record-table] th,
[data-record-table] td {
  padding: 0.25rem 0.3rem;
  border: 0;
  border-bottom: 1px solid var(--opengdd-author-line);
  text-align: left;
  vertical-align: top;
}

[data-record-table] [data-cell-button],
[data-record-table] th[scope="row"] > button {
  width: 100%;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  text-overflow: ellipsis;
}

[data-record-table] small {
  display: block;
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
}

[data-record-table] th:last-child,
[data-record-table] td[data-record-cell="__actions__"] {
  width: 12rem;
  min-width: 12rem;
  white-space: nowrap;
}

[data-record-table] td[data-record-cell="__actions__"] button + button {
  margin-inline-start: var(--opengdd-inspector-row-gap);
}

.opengdd-author-section-facts-list {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: var(--opengdd-inspector-row-gap) calc(var(--opengdd-inspector-row-gap) * 2);
  margin: 0;
}

.opengdd-author-section-facts-list :is(dt, dd) {
  min-width: 0;
  margin: 0;
}

.opengdd-author-value-column {
  margin-inline-start: calc(var(--opengdd-inspector-label) + var(--opengdd-inspector-row-gap));
}

.opengdd-author-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.opengdd-author-record-breadcrumb {
  padding-bottom: 0.55rem;
  border-bottom: 1px solid var(--opengdd-author-line);
}

.opengdd-author-record-breadcrumb code {
  margin-right: auto;
}

.opengdd-author-record-free-row,
.opengdd-author-record-unknown-row {
  padding: 0.65rem;
  border: 1px solid var(--opengdd-author-line);
  border-radius: 0.3rem;
}

.opengdd-author-record-free-value {
  min-width: 0;
}

.opengdd-author-tree-panel {
  border-right: 1px solid var(--opengdd-author-line);
}

.opengdd-author-tree-panel h2 {
  overflow: hidden;
  font-size: 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-author-tree-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 1rem 0 0.65rem;
}

.opengdd-author-tree-actions button {
  padding: 0.3rem 0.45rem;
  font-size: 0.72rem;
}

.opengdd-author-inline-form {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 0.3rem;
  margin-bottom: 0.65rem;
  padding: 0.5rem;
  border: 1px solid var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
}

.opengdd-author-inline-form[hidden] {
  display: none;
}

.opengdd-author-inline-form label {
  display: grid;
  gap: 0.2rem;
  color: var(--opengdd-author-muted);
  font-size: 0.68rem;
}

.opengdd-author-tree-parent {
  overflow-wrap: anywhere;
  color: var(--opengdd-author-ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
}

.opengdd-author-inline-form input {
  width: 100%;
  padding: 0.2rem 0.35rem;
}

.opengdd-author-inline-form button {
  align-self: end;
  padding: 0.28rem 0.4rem;
  font-size: 0.68rem;
}

.opengdd-author-tree {
  min-height: 9rem;
  padding-block: 0.25rem;
  border-block: 1px solid var(--opengdd-author-line);
}

.opengdd-author-tree ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.opengdd-author-tree ul ul {
  margin-left: 0.7rem;
  padding-left: 0.35rem;
  border-left: 1px solid var(--opengdd-author-line);
}

.opengdd-authoring .opengdd-author-tree-item {
  display: block;
  width: 100%;
  overflow: hidden;
  padding: 0.2rem 0.35rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.74rem;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-authoring .opengdd-author-tree-item:hover,
.opengdd-authoring .opengdd-author-tree-item:focus-visible {
  background: var(--opengdd-author-surface-muted);
  outline: 0;
}

.opengdd-authoring .opengdd-author-tree-item.opengdd-author-is-selected {
  background: var(--opengdd-author-accent-soft);
}

.opengdd-authoring .opengdd-author-tree-item.opengdd-author-is-open {
  color: var(--opengdd-author-accent);
  font-weight: 750;
}

.opengdd-author-tree-folder span {
  display: inline-block;
  width: 1rem;
  color: var(--opengdd-author-muted);
}

.opengdd-author-drop-note,
.opengdd-author-muted {
  color: var(--opengdd-author-muted);
  font-size: 0.75rem;
}

.opengdd-author-editor-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.opengdd-author-editor-panel > .opengdd-author-editor { grid-row: 3; }

.opengdd-author-file-heading {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  min-height: 2.65rem;
  padding: 0.65rem 0.8rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-muted);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.72rem;
}

.opengdd-author-file-path {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-author-file-meta {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  color: var(--opengdd-author-muted);
  white-space: nowrap;
}

.opengdd-author-file-meta a {
  color: var(--opengdd-author-accent);
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

.opengdd-author-editor {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background: var(--opengdd-author-surface-raised);
}

.opengdd-author-highlight,
.opengdd-author-editor textarea,
.opengdd-author-json {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 1.25rem;
  border: 0;
  border-radius: 0;
  overflow: auto;
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.86rem;
  font-weight: 400;
  line-height: 1.65;
  tab-size: 2;
  white-space: pre;
}

.opengdd-author-editor--wrapped .opengdd-author-highlight,
.opengdd-author-editor--wrapped textarea {
  overflow-x: hidden;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

/* Preserves horizontal scroll extent in the virtualized large-file mode. */
.opengdd-author-overlay-width {
  display: inline-block;
  height: 0;
}

.opengdd-author-highlight {
  z-index: 1;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  pointer-events: none;
}

.opengdd-author-editor textarea {
  z-index: 2;
  resize: none;
  outline: 0;
  background: transparent;
  caret-color: var(--opengdd-author-ink);
  color: transparent;
  -webkit-text-fill-color: transparent;
}

.opengdd-author-editor textarea::selection {
  background: var(--opengdd-author-selection);
  color: var(--opengdd-author-ink);
  -webkit-text-fill-color: var(--opengdd-author-ink);
  text-shadow: none;
}

.opengdd-author-json {
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
}

.opengdd-author-json button {
  display: inline;
  padding: 0;
  border: 0;
  border-bottom: 1px solid;
  border-radius: 0;
  background: transparent;
  font: inherit;
}

.opengdd-author-empty {
  display: grid;
  height: 100%;
  place-items: center;
  padding: 2rem;
  color: var(--opengdd-author-muted);
  text-align: center;
}

.opengdd-author-empty[hidden] {
  display: none;
}

.opengdd-author-caret-mirror {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden;
  overflow-wrap: normal;
}

.opengdd-author-completions {
  position: fixed;
  z-index: 60;
  width: min(28rem, calc(100vw - 2rem));
  max-height: 16rem;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  box-shadow: 0 0.7rem 1.5rem var(--opengdd-author-shadow);
  list-style: none;
}

.opengdd-author-quickfix {
  position: fixed;
  z-index: 61;
  width: min(21rem, calc(100vw - 2rem));
  padding: 0.6rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  box-shadow: 0 0.7rem 1.5rem var(--opengdd-author-shadow);
}

.opengdd-author-quickfix > p {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
}

.opengdd-author-quickfix > p code {
  color: var(--opengdd-author-kind-unknown);
}

.opengdd-author-quickfix-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}

.opengdd-authoring .opengdd-author-quickfix-actions button {
  min-width: 6.5rem;
  padding: 0.35rem 0.45rem;
}

.opengdd-authoring .opengdd-author-quickfix-actions button.opengdd-author-is-active {
  border-color: var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
  outline: 0;
}

.opengdd-author-quickfix label {
  display: grid;
  gap: 0.2rem;
  margin-top: 0.5rem;
  color: var(--opengdd-author-muted);
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.opengdd-author-quickfix-confirm {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  align-items: end;
  margin-top: 0.5rem;
}

.opengdd-author-quickfix-confirm label {
  min-width: 0;
  flex: 1;
  margin-top: 0;
}

.opengdd-authoring .opengdd-author-quickfix-confirm button {
  height: 2rem;
  padding: 0.35rem 0.45rem;
  white-space: nowrap;
}

.opengdd-author-quickfix-confirm input {
  height: 2rem;
  box-sizing: border-box;
}

.opengdd-author-quickfix input {
  width: 100%;
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  text-transform: none;
}

.opengdd-author-quickfix .opengdd-author-quickfix-error {
  min-height: 1em;
  margin: 0.4rem 0 0;
  color: var(--opengdd-author-danger);
}

.opengdd-author-completions:empty {
  display: none;
}

.opengdd-author-completions .opengdd-author-completion-count {
  position: sticky;
  z-index: 1;
  top: 0;
  padding: 0.35rem 0.5rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-muted);
  color: var(--opengdd-author-muted);
  font-size: 0.67rem;
}

.opengdd-authoring .opengdd-author-completions button {
  display: flex;
  width: 100%;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.42rem 0.5rem;
  border: 0;
  border-bottom: 1px solid var(--opengdd-author-line);
  border-radius: 0;
  text-align: left;
}

.opengdd-authoring .opengdd-author-completions button:hover,
.opengdd-authoring .opengdd-author-completions button:focus,
.opengdd-authoring .opengdd-author-completions button.opengdd-author-is-active {
  background: var(--opengdd-author-accent-soft);
  outline: 0;
}

.opengdd-author-completions code {
  overflow: hidden;
  color: var(--opengdd-author-ink);
  text-overflow: ellipsis;
}

.opengdd-author-completions span {
  overflow: hidden;
  color: var(--opengdd-author-muted);
  font-size: 0.66rem;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-author-anchor {
  border-bottom: 1px solid;
  font: inherit;
  font-weight: 700;
}

.opengdd-author-kind--value { color: var(--opengdd-author-kind-value); }
.opengdd-author-kind--section { color: var(--opengdd-author-kind-section); }
.opengdd-author-kind--acceptance-test { color: var(--opengdd-author-kind-acceptance-test); }
.opengdd-author-kind--mood { color: var(--opengdd-author-kind-mood); }
.opengdd-author-kind--question { color: var(--opengdd-author-kind-question); }
.opengdd-author-kind--name { color: var(--opengdd-author-kind-name); }
.opengdd-author-kind--collection { color: var(--opengdd-author-kind-collection); }
.opengdd-author-kind--collection-record { color: var(--opengdd-author-kind-collection-record); }
.opengdd-author-kind--contract { color: var(--opengdd-author-kind-contract); }
.opengdd-author-kind--rule { color: var(--opengdd-author-kind-rule); }
.opengdd-author-kind--runtime { color: var(--opengdd-author-kind-runtime); }
.opengdd-author-kind--clock { color: var(--opengdd-author-kind-clock); }
.opengdd-author-kind--ruleset { color: var(--opengdd-author-kind-ruleset); }
.opengdd-author-kind--palette { color: var(--opengdd-author-kind-palette); }
.opengdd-author-kind--color { color: var(--opengdd-author-kind-color); }
.opengdd-author-kind--pillars { color: var(--opengdd-author-kind-pillars); }
.opengdd-author-kind--anti { color: var(--opengdd-author-kind-anti); }
.opengdd-author-kind--must_keep { color: var(--opengdd-author-kind-must_keep); }
.opengdd-author-kind--colors { color: var(--opengdd-author-kind-colors); }
.opengdd-author-kind--contrast { color: var(--opengdd-author-kind-contrast); }
.opengdd-author-kind--timing { color: var(--opengdd-author-kind-timing); }
.opengdd-author-kind--file { color: var(--opengdd-author-kind-file); }
.opengdd-author-kind--unknown { color: var(--opengdd-author-kind-unknown); }
.opengdd-author-kind--ambiguous { color: var(--opengdd-author-kind-ambiguous); }

.opengdd-author-anchor--unknown {
  border-bottom-color: transparent;
  text-decoration-line: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--opengdd-author-kind-unknown);
  text-decoration-thickness: 1.5px;
  text-underline-offset: 0.18em;
}

.opengdd-author-inspector {
  border-left: 1px solid var(--opengdd-author-line);
}

.opengdd-author-inspector h2 {
  margin-top: 0.7rem;
  overflow-wrap: anywhere;
  font-size: 1rem;
}

.opengdd-author-inspector .opengdd-author-entity-header > h2 {
  margin-top: 0;
}

.opengdd-author-inspector h2 code {
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.opengdd-author-classification {
  display: inline-block;
  justify-self: start;
  width: max-content;
  margin: 0;
  padding: 0.1rem 0.35rem;
  border: 1px solid;
  border-radius: 999px;
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.opengdd-author-classification--known { color: var(--opengdd-author-accent); }
.opengdd-author-classification--unknown { color: var(--opengdd-author-kind-unknown); }
.opengdd-author-classification--ambiguous { color: var(--opengdd-author-kind-ambiguous); }

.opengdd-author-inspector ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.opengdd-author-inspector li {
  display: grid;
  gap: 0.15rem;
  padding: 0.7rem 0;
  border-top: 1px solid var(--opengdd-author-line);
  font-size: 0.75rem;
}

.opengdd-author-inspector li span {
  color: var(--opengdd-author-muted);
}

.opengdd-author-inspector li code {
  overflow-wrap: anywhere;
  color: var(--opengdd-author-accent);
}

.opengdd-author-inspector li .opengdd-author-definition-value {
  display: flex;
  gap: 0.4rem;
  align-items: baseline;
  margin-top: 0.2rem;
}

.opengdd-author-definition-value > span {
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.opengdd-author-inspector li .opengdd-author-definition-value code {
  display: inline-block;
  width: max-content;
  padding: 0.08rem 0.35rem;
  border-radius: 0.25rem;
  background: var(--opengdd-author-accent-soft);
}

.opengdd-author-diagnostics {
  margin-top: 1.25rem;
  border-top: 1px solid var(--opengdd-author-line);
}

.opengdd-author-diagnostics summary {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.8rem 0;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}

.opengdd-author-diagnostics summary span:first-child {
  text-transform: uppercase;
}

.opengdd-author-diagnostics summary span:last-child {
  color: var(--opengdd-author-muted);
  font-size: 0.62rem;
  text-align: right;
  text-transform: none;
}

/* Regional hosts get the ruled single header row without a leading rule;
   the styles ride the component so any host arrangement inherits them. */
.opengdd-author-diagnostics--regional {
  margin-top: 0;
  border-top: 0;
}

.opengdd-author-diagnostics--regional summary {
  justify-content: flex-start;
  padding: 0.55rem 0;
}

.opengdd-author-diagnostics--regional summary span:last-child {
  font-size: 0.72rem;
  text-align: left;
}

.opengdd-author-verdict {
  margin: 0 0 0.75rem;
  font-size: 0.75rem;
  font-weight: 800;
}

.opengdd-author-verdict--pass,
.opengdd-author-validation-empty {
  color: var(--opengdd-author-accent);
}

.opengdd-author-verdict--warnings,
.opengdd-author-validation-skipped,
.opengdd-author-diagnostic-severity--warning {
  color: var(--opengdd-author-warning);
}

.opengdd-author-verdict--fail,
.opengdd-author-validation-unavailable,
.opengdd-author-diagnostic-severity--error {
  color: var(--opengdd-author-danger);
}

.opengdd-author-validation-empty,
.opengdd-author-validation-skipped,
.opengdd-author-validation-unavailable {
  font-size: 0.74rem;
}

.opengdd-author-migration {
  margin: 0 0 0.8rem;
  padding: 0.6rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.45rem;
  background: var(--opengdd-author-surface-muted);
  font-size: 0.74rem;
}

.opengdd-author-migration h3 {
  margin: 0.55rem 0 0.2rem;
  font-size: 0.72rem;
}

.opengdd-author-migration p,
.opengdd-author-migration ul {
  margin: 0 0 0.45rem;
}

.opengdd-author-migration ul {
  padding-inline-start: 1.2rem;
}

/* The inspector styles every li as a finding row (grid, tall padding, a
   rule above); the migration lists are plain lines, one per file. */
.opengdd-author-inspector .opengdd-author-migration li,
.opengdd-author-migration li {
  display: block;
  margin: 0;
  padding: 0.1rem 0;
  border-top: 0;
  overflow-wrap: anywhere;
}

.opengdd-author-migration-detail {
  color: var(--opengdd-author-muted);
}

.opengdd-author-migration-actions {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 -0.2rem 0.45rem;
  padding: 0.2rem;
  background: var(--opengdd-author-surface-muted);
}

.opengdd-author-migration-details {
  margin-block: 0.35rem;
}

.opengdd-author-migration-details summary {
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 700;
}

.opengdd-author-migration-details summary span {
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
  font-weight: normal;
}

.opengdd-author-migration-decisions {
  display: grid;
  gap: 0.45rem;
  padding: 0;
  list-style: none;
}

.opengdd-author-inspector .opengdd-author-migration .opengdd-author-migration-decision,
.opengdd-author-migration .opengdd-author-migration-decision {
  display: grid;
  gap: 0.25rem;
  padding: 0.45rem 0.5rem;
  border: 1px solid var(--opengdd-author-line);
  border-radius: 0.3rem;
  background: var(--opengdd-author-surface);
  font-size: 0.7rem;
  line-height: 1.45;
}

.opengdd-author-migration-decision p {
  margin: 0;
}

.opengdd-author-migration-source {
  width: fit-content;
  color: var(--opengdd-author-accent);
  font-size: 0.66rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.opengdd-author-migration-payload {
  max-width: 100%;
  margin: 0.1rem 0;
  padding: 0.4rem;
  border-radius: 0.2rem;
  overflow: hidden;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-muted);
  font-size: 0.62rem;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.opengdd-author-migration-payload code {
  font: inherit;
  white-space: inherit;
}

.opengdd-author-diagnostic-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.opengdd-author-inspector .opengdd-author-diagnostic-list li,
.opengdd-author-diagnostic-list li {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
}

.opengdd-authoring .opengdd-author-diagnostic-list button,
.opengdd-author-region .opengdd-author-diagnostic-list button,
.opengdd-author-panel-advice .opengdd-author-diagnostic-line {
  display: flex;
  width: 100%;
  align-items: baseline;
  gap: 0.45rem;
  padding: 0.3rem 0.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  text-align: left;
}

.opengdd-author-diagnostic-line {
  white-space: nowrap;
}

.opengdd-authoring .opengdd-author-diagnostic-line .opengdd-author-diagnostic-message {
  min-width: 0;
  flex: 1;
  overflow: hidden;
  overflow-wrap: anywhere;
  color: var(--opengdd-author-ink);
  font-size: 0.72rem;
  text-overflow: ellipsis;
}

.opengdd-author-diagnostic-line .opengdd-author-diagnostic-location {
  flex: 0 0 auto;
}

.opengdd-authoring .opengdd-author-diagnostic-line:is(:hover, :focus-visible) .opengdd-author-diagnostic-message {
  white-space: normal;
  overflow: visible;
}

.opengdd-authoring .opengdd-author-diagnostic-list button:hover,
.opengdd-authoring .opengdd-author-diagnostic-list button:focus-visible,
.opengdd-author-region .opengdd-author-diagnostic-list button:hover,
.opengdd-author-region .opengdd-author-diagnostic-list button:focus-visible {
  background: var(--opengdd-author-surface-muted);
  outline: 0;
}

.opengdd-author-diagnostic-severity {
  font-size: 0.6rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.opengdd-author-inspector .opengdd-author-diagnostic-list code {
  color: var(--opengdd-author-ink);
  font-size: 0.65rem;
}

.opengdd-author-diagnostic-location {
  flex: 0 0 auto;
  color: var(--opengdd-author-muted);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 0.65rem;
}

.opengdd-author-widget-drawer {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  bottom: 0;
  width: max(16rem, min(24rem, 45%));
  min-height: 12rem;
  border-left: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface);
  box-shadow: 0 0 1.4rem var(--opengdd-author-shadow);
}

.opengdd-author-widget-drawer[hidden] {
  display: none;
}

.opengdd-author-widget-inspector-slot {
  display: contents;
}

.opengdd-author-widget-inspector-slot.opengdd-author-widget-drawer--open {
  position: absolute;
  z-index: 20;
  top: 0;
  right: 0;
  bottom: 0;
  width: max(16rem, min(24rem, 45%));
  display: block;
  height: 100%;
  border-left: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface);
  box-shadow: 0 0 1.4rem var(--opengdd-author-shadow);
}

.opengdd-author-widget-inspector-slot.opengdd-author-widget-drawer--open .opengdd-author-inspector {
  position: static;
  width: 100%;
  height: 100%;
  max-height: none;
  border: 0;
  box-shadow: none;
}

.opengdd-author-outline {
  height: 100%;
  overflow: auto;
  background: var(--opengdd-author-surface);
  color: var(--opengdd-author-ink);
}

.opengdd-author-outline-controls {
  position: sticky;
  z-index: 3;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.45rem 0.6rem;
  border-bottom: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-raised);
}

.opengdd-author-outline-controls label {
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
  white-space: nowrap;
}

.opengdd-author-outline-filter {
  display: inline-flex;
  width: 1.65rem;
  height: 1.65rem;
  min-width: 1.65rem;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--opengdd-author-line-strong);
  background: transparent;
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
  line-height: 1;
  opacity: 0.58;
}

.opengdd-author-outline-filter:hover,
.opengdd-author-outline-filter:focus-visible {
  background: var(--opengdd-author-surface-raised);
  opacity: 1;
}

.opengdd-author-outline-filter--active {
  border-color: var(--opengdd-author-accent);
  background: var(--opengdd-author-accent-soft);
  color: var(--opengdd-author-accent);
  opacity: 1;
}

.opengdd-author-outline-create {
  position: relative;
}

.opengdd-author-outline-create > button {
  min-width: 1.8rem;
  padding: 0.15rem 0.45rem;
  font-size: 1rem;
}

.opengdd-author-outline-create [role="menu"] {
  position: absolute;
  z-index: 4;
  top: calc(100% + 0.25rem);
  left: 0;
  display: grid;
  min-width: 9rem;
  padding: 0.35rem;
  border: 1px solid var(--opengdd-author-line-strong);
  background: var(--opengdd-author-surface-raised);
  box-shadow: 0 0.4rem 1rem var(--opengdd-author-shadow);
}

.opengdd-author-outline-create [role="menu"] > span {
  padding: 0.25rem 0.45rem;
  color: var(--opengdd-author-muted);
  font-size: 0.65rem;
  font-weight: 700;
}

.opengdd-author-outline-create [role="menu"] button {
  border-color: var(--opengdd-author-surface-raised);
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  text-align: left;
}

.opengdd-author-outline-nothing,
.opengdd-author-outline-empty {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding: 0.7rem;
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
}

.opengdd-author-outline-empty {
  padding: 0.45rem 0.8rem 0.7rem 2.35rem;
}

.opengdd-author-outline-empty p {
  margin: 0;
}

.opengdd-author-outline-nothing span {
  display: block;
}

.opengdd-author-outline-icon {
  width: 1rem;
  height: 1rem;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.25;
}

.opengdd-author-outline-icon text {
  fill: currentColor;
  stroke: none;
  font-size: 12px;
  font-weight: 700;
}

.opengdd-author-outline-badge {
  display: inline-flex;
  min-width: 1.7rem;
  align-items: center;
  justify-content: center;
  gap: 0.15rem;
  padding: 0.12rem 0.25rem;
  border: 1px solid currentColor;
  background: var(--opengdd-author-surface-raised);
  font-size: 0.62rem;
}

.opengdd-authoring .opengdd-author-outline-badge,
.opengdd-author-region .opengdd-author-outline-badge {
  font-size: 0.62rem;
}

.opengdd-authoring .opengdd-author-outline-badge--error,
.opengdd-author-region .opengdd-author-outline-badge--error {
  color: var(--opengdd-author-danger);
}

.opengdd-authoring .opengdd-author-outline-badge--warning,
.opengdd-author-region .opengdd-author-outline-badge--warning {
  color: var(--opengdd-author-warning);
}

.opengdd-author-status {
  display: flex;
  min-height: 2.7rem;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  align-items: center;
  padding: 0.55rem 1rem;
  border-top: 1px solid var(--opengdd-author-line);
  background: var(--opengdd-author-surface-muted);
  color: var(--opengdd-author-muted);
  font-size: 0.7rem;
}

.opengdd-author-status span:first-child {
  color: var(--opengdd-author-ink);
  font-weight: 750;
}

.opengdd-author-status-known { color: var(--opengdd-author-accent); }
.opengdd-author-status-unknown { color: var(--opengdd-author-kind-unknown); }
.opengdd-author-status-ambiguous { color: var(--opengdd-author-kind-ambiguous); }
.opengdd-author-status-errors { color: var(--opengdd-author-danger); }
.opengdd-author-status-warnings { color: var(--opengdd-author-warning); }

@media (max-width: 1050px) {
  .opengdd-author-workspace {
    grid-template-columns: 13rem minmax(26rem, 1fr);
  }

  .opengdd-author-inspector {
    position: absolute;
    z-index: 10;
    right: 0;
    width: min(20rem, 40vw);
    height: var(--opengdd-author-workspace-height);
    box-shadow: -0.4rem 0 1rem var(--opengdd-author-shadow);
  }

  .opengdd-author-editor-panel {
    padding-right: min(20rem, 40vw);
  }
}

@media (max-width: 760px) {
  .opengdd-author-topbar {
    grid-template-columns: 1fr;
  }

  .opengdd-author-workspace {
    display: block;
    height: auto;
  }

  .opengdd-author-tree-panel,
  .opengdd-author-inspector {
    position: static;
    width: auto;
    height: auto;
    max-height: 18rem;
    border: 0;
    border-bottom: 1px solid var(--opengdd-author-line);
    box-shadow: none;
  }

  .opengdd-author-editor-panel {
    height: 65vh;
    min-height: 28rem;
    padding: 0;
  }
}

@media (prefers-color-scheme: dark) {
  .opengdd-authoring {
    --_opengdd-author-theme-bg: var(--_opengdd-author-dark-bg);
    --_opengdd-author-theme-surface: var(--_opengdd-author-dark-surface);
    --_opengdd-author-theme-surface-raised: var(--_opengdd-author-dark-surface-raised);
    --_opengdd-author-theme-surface-muted: var(--_opengdd-author-dark-surface-muted);
    --_opengdd-author-theme-ink: var(--_opengdd-author-dark-ink);
    --_opengdd-author-theme-muted: var(--_opengdd-author-dark-muted);
    --_opengdd-author-theme-line: var(--_opengdd-author-dark-line);
    --_opengdd-author-theme-line-strong: var(--_opengdd-author-dark-line-strong);
    --_opengdd-author-theme-accent: var(--_opengdd-author-dark-accent);
    --_opengdd-author-theme-accent-soft: var(--_opengdd-author-dark-accent-soft);
    --_opengdd-author-theme-danger: var(--_opengdd-author-dark-danger);
    --_opengdd-author-theme-warning: var(--_opengdd-author-dark-warning);
    --_opengdd-author-theme-selection: var(--_opengdd-author-dark-selection);
    --_opengdd-author-theme-shadow: var(--_opengdd-author-dark-shadow);
    --_opengdd-author-theme-kind-value: var(--_opengdd-author-dark-kind-value);
    --_opengdd-author-theme-kind-section: var(--_opengdd-author-dark-kind-section);
    --_opengdd-author-theme-kind-acceptance-test: var(--_opengdd-author-dark-kind-acceptance-test);
    --_opengdd-author-theme-kind-mood: var(--_opengdd-author-dark-kind-mood);
    --_opengdd-author-theme-kind-question: var(--_opengdd-author-dark-kind-question);
    --_opengdd-author-theme-kind-name: var(--_opengdd-author-dark-kind-name);
    --_opengdd-author-theme-kind-collection: var(--_opengdd-author-dark-kind-collection);
    --_opengdd-author-theme-kind-collection-record: var(--_opengdd-author-dark-kind-collection-record);
    --_opengdd-author-theme-kind-contract: var(--_opengdd-author-dark-kind-contract);
    --_opengdd-author-theme-kind-rule: var(--_opengdd-author-dark-kind-rule);
    --_opengdd-author-theme-kind-runtime: var(--_opengdd-author-dark-kind-runtime);
    --_opengdd-author-theme-kind-clock: var(--_opengdd-author-dark-kind-clock);
    --_opengdd-author-theme-kind-ruleset: var(--_opengdd-author-dark-kind-ruleset);
    --_opengdd-author-theme-kind-palette: var(--_opengdd-author-dark-kind-palette);
    --_opengdd-author-theme-kind-color: var(--_opengdd-author-dark-kind-color);
    --_opengdd-author-theme-kind-pillars: var(--_opengdd-author-dark-kind-pillars);
    --_opengdd-author-theme-kind-anti: var(--_opengdd-author-dark-kind-anti);
    --_opengdd-author-theme-kind-must_keep: var(--_opengdd-author-dark-kind-must_keep);
    --_opengdd-author-theme-kind-colors: var(--_opengdd-author-dark-kind-colors);
    --_opengdd-author-theme-kind-contrast: var(--_opengdd-author-dark-kind-contrast);
    --_opengdd-author-theme-kind-timing: var(--_opengdd-author-dark-kind-timing);
    --_opengdd-author-theme-kind-file: var(--_opengdd-author-dark-kind-file);
    --_opengdd-author-theme-kind-unknown: var(--_opengdd-author-dark-kind-unknown);
    --_opengdd-author-theme-kind-ambiguous: var(--_opengdd-author-dark-kind-ambiguous);
  }
}

:is(.opengdd-author-theme--light, .opengdd-author-theme--light *) .opengdd-authoring,
.opengdd-authoring.opengdd-author-theme--light {
  --_opengdd-author-theme-bg: initial;
  --_opengdd-author-theme-surface: initial;
  --_opengdd-author-theme-surface-raised: initial;
  --_opengdd-author-theme-surface-muted: initial;
  --_opengdd-author-theme-ink: initial;
  --_opengdd-author-theme-muted: initial;
  --_opengdd-author-theme-line: initial;
  --_opengdd-author-theme-line-strong: initial;
  --_opengdd-author-theme-accent: initial;
  --_opengdd-author-theme-accent-soft: initial;
  --_opengdd-author-theme-danger: initial;
  --_opengdd-author-theme-warning: initial;
  --_opengdd-author-theme-selection: initial;
  --_opengdd-author-theme-shadow: initial;
  --_opengdd-author-theme-kind-value: initial;
  --_opengdd-author-theme-kind-section: initial;
  --_opengdd-author-theme-kind-acceptance-test: initial;
  --_opengdd-author-theme-kind-mood: initial;
  --_opengdd-author-theme-kind-question: initial;
  --_opengdd-author-theme-kind-name: initial;
  --_opengdd-author-theme-kind-collection: initial;
  --_opengdd-author-theme-kind-collection-record: initial;
  --_opengdd-author-theme-kind-contract: initial;
  --_opengdd-author-theme-kind-rule: initial;
  --_opengdd-author-theme-kind-runtime: initial;
  --_opengdd-author-theme-kind-clock: initial;
  --_opengdd-author-theme-kind-ruleset: initial;
  --_opengdd-author-theme-kind-palette: initial;
  --_opengdd-author-theme-kind-color: initial;
  --_opengdd-author-theme-kind-pillars: initial;
  --_opengdd-author-theme-kind-anti: initial;
  --_opengdd-author-theme-kind-must_keep: initial;
  --_opengdd-author-theme-kind-colors: initial;
  --_opengdd-author-theme-kind-contrast: initial;
  --_opengdd-author-theme-kind-timing: initial;
  --_opengdd-author-theme-kind-file: initial;
  --_opengdd-author-theme-kind-unknown: initial;
  --_opengdd-author-theme-kind-ambiguous: initial;
}

:is(.opengdd-author-theme--dark, .opengdd-author-theme--dark *) .opengdd-authoring,
.opengdd-authoring.opengdd-author-theme--dark {
  --_opengdd-author-theme-bg: var(--_opengdd-author-dark-bg);
  --_opengdd-author-theme-surface: var(--_opengdd-author-dark-surface);
  --_opengdd-author-theme-surface-raised: var(--_opengdd-author-dark-surface-raised);
  --_opengdd-author-theme-surface-muted: var(--_opengdd-author-dark-surface-muted);
  --_opengdd-author-theme-ink: var(--_opengdd-author-dark-ink);
  --_opengdd-author-theme-muted: var(--_opengdd-author-dark-muted);
  --_opengdd-author-theme-line: var(--_opengdd-author-dark-line);
  --_opengdd-author-theme-line-strong: var(--_opengdd-author-dark-line-strong);
  --_opengdd-author-theme-accent: var(--_opengdd-author-dark-accent);
  --_opengdd-author-theme-accent-soft: var(--_opengdd-author-dark-accent-soft);
  --_opengdd-author-theme-danger: var(--_opengdd-author-dark-danger);
  --_opengdd-author-theme-warning: var(--_opengdd-author-dark-warning);
  --_opengdd-author-theme-selection: var(--_opengdd-author-dark-selection);
  --_opengdd-author-theme-shadow: var(--_opengdd-author-dark-shadow);
  --_opengdd-author-theme-kind-value: var(--_opengdd-author-dark-kind-value);
  --_opengdd-author-theme-kind-section: var(--_opengdd-author-dark-kind-section);
  --_opengdd-author-theme-kind-acceptance-test: var(--_opengdd-author-dark-kind-acceptance-test);
  --_opengdd-author-theme-kind-mood: var(--_opengdd-author-dark-kind-mood);
  --_opengdd-author-theme-kind-question: var(--_opengdd-author-dark-kind-question);
  --_opengdd-author-theme-kind-name: var(--_opengdd-author-dark-kind-name);
  --_opengdd-author-theme-kind-collection: var(--_opengdd-author-dark-kind-collection);
  --_opengdd-author-theme-kind-collection-record: var(--_opengdd-author-dark-kind-collection-record);
  --_opengdd-author-theme-kind-contract: var(--_opengdd-author-dark-kind-contract);
  --_opengdd-author-theme-kind-rule: var(--_opengdd-author-dark-kind-rule);
  --_opengdd-author-theme-kind-runtime: var(--_opengdd-author-dark-kind-runtime);
  --_opengdd-author-theme-kind-clock: var(--_opengdd-author-dark-kind-clock);
  --_opengdd-author-theme-kind-ruleset: var(--_opengdd-author-dark-kind-ruleset);
  --_opengdd-author-theme-kind-palette: var(--_opengdd-author-dark-kind-palette);
  --_opengdd-author-theme-kind-color: var(--_opengdd-author-dark-kind-color);
  --_opengdd-author-theme-kind-pillars: var(--_opengdd-author-dark-kind-pillars);
  --_opengdd-author-theme-kind-anti: var(--_opengdd-author-dark-kind-anti);
  --_opengdd-author-theme-kind-must_keep: var(--_opengdd-author-dark-kind-must_keep);
  --_opengdd-author-theme-kind-colors: var(--_opengdd-author-dark-kind-colors);
  --_opengdd-author-theme-kind-contrast: var(--_opengdd-author-dark-kind-contrast);
  --_opengdd-author-theme-kind-timing: var(--_opengdd-author-dark-kind-timing);
  --_opengdd-author-theme-kind-file: var(--_opengdd-author-dark-kind-file);
  --_opengdd-author-theme-kind-unknown: var(--_opengdd-author-dark-kind-unknown);
  --_opengdd-author-theme-kind-ambiguous: var(--_opengdd-author-dark-kind-ambiguous);
}

@media (prefers-reduced-motion: reduce) {
  .opengdd-authoring * {
    scroll-behavior: auto !important;
  }
}
/* Prepared-mechanic review is a reading surface over ordinary package edits. */
.opengdd-prepared { box-sizing: border-box; width: min(850px, calc(100vw - 32px)); max-height: 92vh; padding: 28px 36px; border: 1px solid #52616c; border-radius: 14px; background: #fcfcfa; color: #21313a; font: 16px/1.55 system-ui, sans-serif; }
.opengdd-prepared::backdrop { background: #10202bb3; }
.opengdd-prepared h1 { font-size: 2rem; line-height: 1.2; margin: .4em 0; }
.opengdd-prepared h2 { font-size: 1.35rem; margin-top: 1.6em; }
.opengdd-prepared p { max-width: 68ch; }
.opengdd-prepared fieldset { min-width: 0; margin: 20px 0; padding: 18px; border: 1px solid #d3ddd8; border-radius: 10px; }
.opengdd-prepared fieldset[hidden] { display: none; }
.opengdd-prepared legend { font-weight: 650; padding: 0 6px; }
.opengdd-prepared label { display: block; }
.opengdd-prepared label.opengdd-prepared-option { display: flex; gap: 12px; align-items: start; margin: 8px 0; padding: 10px; background: #f0f4f0; border-radius: 6px; cursor: pointer; }
.opengdd-prepared input[type=radio] { margin: 6px 0 0; flex-shrink: 0; accent-color: #256747; }
.opengdd-prepared input:not([type=radio]), .opengdd-prepared select { box-sizing: border-box; max-width: 100%; padding: 8px; margin: 5px 8px 8px 0; font: inherit; color: inherit; background: white; border: 1px solid #87998d; border-radius: 4px; }
.opengdd-prepared input[type=number] { display: block; width: 160px; }
.opengdd-prepared input[type=search], .opengdd-prepared select { width: 100%; }
.opengdd-prepared button { padding: 9px 15px; margin: 8px 8px 8px 0; font: inherit; border: 1px solid #3b6650; background: #edf4ed; color: #183726; border-radius: 6px; cursor: pointer; }
.opengdd-prepared button:disabled { opacity: .5; cursor: default; }
.opengdd-prepared-summary { padding: 4px 22px 12px; background: #edf4ed; border-left: 4px solid #447559; }
.opengdd-prepared-error { color: #a12623; white-space: pre-line; }
.opengdd-prepared footer { margin-top: 24px; border-top: 1px solid #d3ddd8; }
.opengdd-prepared summary { cursor: pointer; }
.opengdd-prepared-eyebrow { font-size: .85rem; text-transform: uppercase; letter-spacing: .06em; }
@media (max-width: 600px) { .opengdd-prepared { padding: 20px; } }


/* One mechanism/entity tree. The older class rules above remain harmless for
   compatibility markup supplied by third-party hosts. */
.opengdd-author-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.opengdd-author-outline-tree,
.opengdd-author-outline-tree [role="group"] {
  list-style: none;
  margin: 0;
  padding: 0;
}

.opengdd-author-outline-tree [role="group"] {
  margin-inline-start: 1rem;
}

.opengdd-author-outline-tree [role="treeitem"] {
  border-radius: 0.25rem;
  color: var(--opengdd-author-ink);
  cursor: default;
  outline: 0;
}

.opengdd-author-outline-tree [role="treeitem"]:focus > .opengdd-author-outline-row,
.opengdd-author-outline-tree [role="treeitem"] > .opengdd-author-outline-row:hover {
  background: var(--opengdd-author-surface-raised);
}

.opengdd-author-outline-tree [role="treeitem"]:focus-visible > .opengdd-author-outline-row {
  box-shadow: inset 0 0 0 2px var(--opengdd-author-accent);
}

.opengdd-author-outline-tree [aria-selected="true"] > .opengdd-author-outline-row,
.opengdd-author-outline-tree [aria-selected="true"]:focus > .opengdd-author-outline-row {
  background: var(--opengdd-author-selection);
}

.opengdd-author-outline-row {
  min-height: 1.9rem;
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.15rem 0.3rem;
  border-radius: inherit;
}

.opengdd-author-outline-mechanism > .opengdd-author-outline-row {
  min-height: 2.15rem;
  font-size: 0.92rem;
  font-weight: 750;
}

.opengdd-author-outline-chevron {
  width: 0.65rem;
  flex: 0 0 0.65rem;
  color: var(--opengdd-author-muted);
  text-align: center;
}

.opengdd-author-outline-mechanism-name,
.opengdd-author-outline-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-author-outline-name {
  flex: 1;
  font-weight: 650;
}

.opengdd-author-outline-kind-tag,
.opengdd-author-outline-range-tag {
  align-self: center;
  flex: 0 0 auto;
  font-size: 0.72rem;
  color: var(--opengdd-author-muted);
}

.opengdd-author-outline-kind-tag {
  padding: 0.05rem 0.25rem;
  border: 1px solid var(--opengdd-author-line);
  border-radius: 0.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: lowercase;
}

.opengdd-author-outline-range-tag {
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}

.opengdd-author-outline-mechanism-count {
  color: var(--opengdd-author-muted);
  font-size: 0.72rem;
  font-weight: 650;
}

.opengdd-authoring .opengdd-author-outline-mechanism-create {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.65rem;
  height: 1.65rem;
  margin-inline-start: auto;
  margin-inline-end: 0.3rem;
  padding: 0;
  line-height: 1;
  opacity: 0;
}

.opengdd-author-outline-mechanism > .opengdd-author-outline-row:hover .opengdd-author-outline-mechanism-create,
.opengdd-author-outline-mechanism:focus-within > .opengdd-author-outline-row .opengdd-author-outline-mechanism-create {
  opacity: 1;
}

.opengdd-author-outline-tree .opengdd-author-outline-badge {
  margin-inline-start: auto;
  pointer-events: none;
}

.opengdd-author-outline-empty {
  margin: 0.1rem 0 0.35rem 1.95rem;
  padding: 0;
}

.opengdd-author-outline-branch > .opengdd-author-outline-row {
  min-height: 1.75rem;
  font-size: 0.84rem;
  font-weight: 600;
}

/* Problems: one symbol (a warning triangle) on the Problems-only control,
   the count badges and the problem rows; badges sit at the row's end. */
.opengdd-author-problem-icon {
  width: 0.85em;
  height: 0.85em;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linejoin: round;
  stroke-linecap: round;
}

.opengdd-author-outline-badge .opengdd-author-problem-icon {
  width: 0.95em;
  height: 0.95em;
}

.opengdd-authoring .opengdd-author-outline-badge + .opengdd-author-outline-mechanism-create,
.opengdd-author-region .opengdd-author-outline-badge + .opengdd-author-outline-mechanism-create {
  margin-inline-start: 0.3rem;
}

.opengdd-author-outline-problem > .opengdd-author-outline-row {
  font-weight: 500;
}

.opengdd-author-outline-problem > .opengdd-author-outline-row .opengdd-author-problem-icon {
  width: 1rem;
  height: 1rem;
}

.opengdd-author-outline-problem--error > .opengdd-author-outline-row .opengdd-author-problem-icon {
  color: var(--opengdd-author-danger);
}

.opengdd-author-outline-problem--warning > .opengdd-author-outline-row .opengdd-author-problem-icon {
  color: var(--opengdd-author-warning);
}

/* Outline typography: mechanisms are headings, branches are sub-headings,
   entries and problem rows are body-sized so the levels read apart. */
.opengdd-author-outline-entry > .opengdd-author-outline-row {
  min-height: 1.7rem;
  font-size: 0.8rem;
}

.opengdd-author-outline-entry > .opengdd-author-outline-row .opengdd-author-outline-name {
  font-weight: 500;
}

.opengdd-author-outline-entry > .opengdd-author-outline-row .opengdd-author-outline-icon {
  width: 0.85rem;
  height: 0.85rem;
}

.opengdd-author-outline-tree .opengdd-author-outline-kind-tag,
.opengdd-author-outline-tree .opengdd-author-outline-range-tag {
  font-size: 0.66rem;
}

/* Quick create: existing names the citation may have meant come first. */
.opengdd-author-quickfix-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-bottom: 0.55rem;
}

.opengdd-authoring .opengdd-author-quickfix-suggestions button {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  padding: 0.3rem 0.45rem;
}

.opengdd-author-quickfix-suggestions button code {
  color: var(--opengdd-author-accent);
  max-width: 16rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.opengdd-author-quickfix-suggestions button span {
  color: var(--opengdd-author-muted);
  font-size: 0.66rem;
}

.opengdd-author-outline-mechanism > .opengdd-author-outline-row > .opengdd-author-outline-chevron {
  cursor: pointer;
}

/* Inspector split: a section marked as an aside (prose citations) takes a
   second column beside the fields; on a narrow inspector it falls back
   under them. */
.opengdd-author-inspector-sections--split {
  /* Current inspectors have at most eight field sections below the header;
     spanning those rows keeps the citation aside beside the whole form. */
  --opengdd-inspector-aside-rows: 8;
  grid-template-columns: minmax(0, 1.25fr) minmax(16rem, 1fr);
  column-gap: calc(var(--opengdd-inspector-group-gap) * 2);
}

.opengdd-author-inspector-sections--split > * {
  grid-column: 1;
}

.opengdd-author-inspector-sections--split > .opengdd-author-entity-header {
  grid-column: 1 / -1;
}

.opengdd-author-inspector-sections--split > .opengdd-author-confirmation {
  grid-column: 1 / -1;
}

.opengdd-author-inspector-sections--split > [data-inspector-aside] {
  grid-column: 2;
  grid-row: 2 / span var(--opengdd-inspector-aside-rows);
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  padding-left: calc(var(--opengdd-inspector-group-gap) * 2);
  border-left: 1px solid var(--opengdd-author-line);
}

.opengdd-author-inspector-sections--split > [data-inspector-aside] .opengdd-author-reference-label {
  margin-bottom: 0.2rem;
}

@container (max-width: 44rem) {
  .opengdd-author-inspector-sections--split {
    grid-template-columns: minmax(0, 1fr);
  }

  .opengdd-author-inspector-sections--split > * {
    grid-column: 1;
    grid-row: auto;
  }

  .opengdd-author-inspector-sections--split > [data-inspector-aside] {
    grid-template-columns: var(--opengdd-inspector-label) minmax(0, 1fr);
    padding-left: 0;
    border-left: 0;
  }
}

/* Inline confirmations (rename, remove, text edits): one quiet box under
   the row or header that asked. */
.opengdd-author-confirmation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--opengdd-inspector-row-gap);
  margin: 0;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--opengdd-author-line);
  border-left: 3px solid var(--opengdd-author-accent);
  background: var(--opengdd-author-surface-muted);
  font-size: 0.8rem;
}

.opengdd-author-confirmation > p,
.opengdd-author-confirmation > label {
  flex: 1 1 100%;
  margin: 0;
}

.opengdd-author-confirmation > p:empty {
  display: none;
}

.opengdd-author-confirmation > label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.opengdd-author-confirmation > label > input {
  flex: 1 1 12rem;
  min-width: 0;
  height: var(--opengdd-inspector-control-height);
  padding: 0.35rem 0.45rem;
  border: 1px solid var(--opengdd-author-line-strong);
  border-radius: 0.25rem;
  background: var(--opengdd-author-surface-raised);
  color: var(--opengdd-author-ink);
  font: inherit;
}

.opengdd-author-confirmation > button {
  width: max-content;
  padding: var(--opengdd-inspector-button-padding);
  font-size: var(--opengdd-inspector-label-size);
}

.opengdd-authoring .opengdd-author-danger-action {
  border-color: var(--opengdd-author-danger);
  color: var(--opengdd-author-danger);
}
