.people-toolbar { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--weave-space-4); }
.people-toolbar h3 { margin-right: auto; }
.people-intro, .people-range, .people-identity p { color: var(--weave-color-secondary); font-size: var(--weave-text-sm); }
.people-row { border-top: 1px solid var(--weave-color-rule); padding-block: var(--weave-space-4); }
.people-identity { display: block; }
.people-identity h4, .people-identity p { margin: 0; }

.people-names { display: flex; flex-wrap: wrap; gap: var(--weave-space-2); margin-block: var(--weave-space-3); }
.people-chip { border: 1px solid var(--weave-color-rule); border-radius: var(--weave-radius-full); padding: var(--weave-space-1) var(--weave-space-3); background: var(--weave-color-paper); color: var(--weave-color-secondary); font-size: var(--weave-text-sm); }
.people-timeline { display: flex; gap: 2px; min-height: 36px; width: 100%; }
.people-segment { flex-basis: 0; min-width: 0; position: relative; padding: var(--weave-space-2) 0; border: 1px solid var(--weave-color-rule); border-radius: var(--weave-radius-sm); font-size: var(--weave-text-sm); text-align: left; }
.people-tone-0 { background: var(--weave-color-selected); color: var(--weave-color-action); }
.people-tone-1 { background: var(--weave-color-success-surface); color: var(--weave-color-success); }
.people-tone-2 { background: var(--weave-color-warning-surface); color: var(--weave-color-warning); }
.people-tone-3 { background: var(--weave-color-hover); color: var(--weave-color-ink); }
.people-tone-none { background: var(--weave-color-paper); color: var(--weave-color-secondary); }
.people-override { border-bottom: 4px solid currentColor; }
.people-links { margin-top: var(--weave-space-3); font-size: var(--weave-text-sm); }
.people-form { margin: 0; }
.people-form label { display: flex; flex-direction: column; gap: var(--weave-space-2); }
.people-form label[hidden] { display: none; }
.people-form button { align-self: start; }
.people-row button:focus-visible { outline: 2px solid var(--weave-color-action); outline-offset: 2px; }
.people-form fieldset { display: flex; flex-direction: column; gap: var(--weave-space-4); padding: 0; margin: 0; border: 0; min-width: 0; }

.people-row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 3fr); column-gap: var(--weave-space-6); }
.people-identity h4 { font-family: var(--weave-font-display); font-size: var(--weave-text-xl); }
.people-names { grid-column: 1; margin-block: var(--weave-space-2); }
.people-actions { grid-column: 1 / -1; grid-row: 3; color: var(--weave-color-secondary); font-size: var(--weave-text-xs); }
.people-action, .people-close { border: 0; background: transparent; color: var(--weave-color-secondary); padding: 0; font: inherit; cursor: pointer; }
.people-action:hover { color: var(--weave-color-action); text-decoration: underline; }
.people-history { grid-column: 2; grid-row: 1 / 3; align-self: center; min-width: 0; }
.people-segment-label { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; padding-inline: var(--weave-space-2); }
.people-unresolved { border-style: dashed; }
.people-override .people-segment-label { visibility: hidden; }
.people-tooltip { display: none; position: absolute; z-index: 2; bottom: 100%; left: 50%; transform: translateX(-50%); width: max-content; max-width: 240px; padding: var(--weave-space-2); border-radius: var(--weave-radius-sm); background: var(--weave-color-ink); color: var(--weave-color-paper); white-space: normal; pointer-events: none; }
.people-segment:hover .people-tooltip, .people-segment:focus-visible .people-tooltip { display: block; }
.people-axis { position: relative; height: 52px; color: var(--weave-color-secondary); font-size: var(--weave-text-xs); margin-inline: var(--weave-space-2); }
.people-axis span { position: absolute; padding-top: var(--weave-space-1); transform: translateX(-50%); border-top: 1px solid var(--weave-color-secondary); }
.people-panel[open] { display: block; }
.people-close { float: right; font-size: var(--weave-text-xl); padding: var(--weave-space-2); }
.people-panel h4 { margin-top: 0; }
@media (min-width: 1000px) { #peoplePage:has(dialog[open]) { margin-right: max(0px, calc(440px - (100vw - 1040px) / 2)); } }
@media (max-width: 600px) {
  .people-row { grid-template-columns: minmax(0, 1fr); }
  .people-history { grid-column: 1; grid-row: 4; margin-top: var(--weave-space-3); }
  .people-panel { width: 100%; }
  .people-tooltip { left: 0; transform: none; max-width: 160px; }
  .people-segment:last-child .people-tooltip { left: auto; right: 0; }
}
