/* Global semantic identity; colors are reserved from the player palette. */
:root {
  --item-color: #ff8000;
  --location-color: #00ffff;
  --hint-color: #ffd166;
  --deathlink-color: #e45562;
  --connect-color: #a3e635;
  --disconnect-color: #ff5349;
  --goal-color: #b8bcc2;
}
.entity { display: inline-flex; align-items: baseline; gap: .28rem; max-width: 100%; min-width: 0; vertical-align: baseline; }
.entity-label { min-width: 0; overflow-wrap: anywhere; }
.entity-icon { width: 1.15em; height: 1.15em; flex: 0 0 1.15em; object-fit: contain; align-self: flex-start; margin-top: .05em; }
.entity-item { color: var(--item-color); font-weight: 700; }
.entity-location { color: var(--location-color); font-weight: 550; }
.entity-hint { color: var(--hint-color); }
.entity-connect { color: var(--connect-color); }
.entity-disconnect { color: var(--disconnect-color); }
.entity-goal { color: var(--goal-color); font-weight: 650; }
.entity-deathlink { color: var(--deathlink-color); font-weight: 650; }
.entity-player { color: var(--slot-color, var(--text)); font-weight: 650; }
.entity-player .slot-dot { align-self: baseline; }
.entity-meta { font-size: .8rem; font-weight: 400; margin-top: .2rem; }
.entity-list { list-style: none; padding: 0; }
.entity-list > li { padding: .38rem 0; }
.entity-list .activity-flow { gap: .3rem .45rem; }
.activity-kind.entity { font-size: .72rem; margin-left: .45rem; }
.activity-event.death-link { border-inline-start: 3px solid var(--deathlink-color); background: color-mix(in srgb, var(--deathlink-color) 9%, transparent); padding-inline-start: .55rem; }
.activity-event .entity-item, .activity-event .entity-location { background: none; border: 0; padding: 0; border-radius: 0; }
.activity-flow .entity-location { font-size: inherit; }
.activity-classification { border: 0; padding: 0; color: var(--muted); font-size: .72rem; }
.entity-hint-heading { margin: .8rem 0 .25rem; font-size: .9rem; }
.config-chips .entity { pointer-events: none; }
@media (max-width: 720px) {
  .activity-event .activity-kind { margin-left: 0; }
}

/* An opaque reading surface keeps contrast independent of the decorative starfield. */
.activity-list { background: #0b121b; }
.room-page .card .tracker-slot { background: #111c28; }
