/* Shared identity for the website, member area, React workspaces, and games. */
@font-face {
  font-family: "PLCTrain Brand";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("./plctrain-brand-regular.woff2") format("woff2");
}
@font-face {
  font-family: "PLCTrain Brand";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("./plctrain-brand-semibold.woff2") format("woff2");
}
.plctrain-brand {
  --plctrain-mark-color: #315fc4;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 10px;
  color: #172d42;
  font: 600 24px/1 "PLCTrain Brand", "IBM Plex Sans", sans-serif;
  font-synthesis: none;
  letter-spacing: -.04em;
  white-space: nowrap;
  text-decoration: none;
  vertical-align: middle;
}
.plctrain-brand--inverse {
  --plctrain-mark-color: #9bc2ff;
  color: #f4f7fa;
}
/* Older headers style every span inside .wordmark; keep the PLC weight intact. */
.wordmark > .plctrain-brand { font-weight: 600; }
.plctrain-brand .plctrain-brand-mark {
  display: inline-block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--plctrain-mark-color);
  -webkit-mask: url("./plctrain-mark.svg") center / contain no-repeat;
  mask: url("./plctrain-mark.svg") center / contain no-repeat;
}
.plctrain-brand .plctrain-brand-wordmark {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
  padding: 0;
  margin: 0;
  border: 0;
  background: none;
}
.plctrain-brand .plctrain-brand-wordmark .plctrain-brand-train {
  display: inline;
  font: inherit;
  font-weight: 400;
  color: inherit;
  letter-spacing: inherit;
}
.plctrain-brand-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  flex: 0 0 auto;
  text-decoration: none;
}
a.plctrain-brand { min-height: 44px; }
.plctrain-brand-link:focus-visible,
a.plctrain-brand:focus-visible {
  outline: 3px solid #628ed7;
  outline-offset: 5px;
}
.plctrain-brand-caption {
  font: 400 11px/1.4 "PLCTrain Brand", sans-serif;
  letter-spacing: .04em;
  margin-left: 12px;
}
@media (max-width: 600px) {
  .plctrain-brand { font-size: 22px; gap: 8px; }
  .plctrain-brand .plctrain-brand-mark { width: 22px; height: 22px; flex-basis: 22px; }
  .plctrain-brand-caption { display: none; }
}
@media print {
  .plctrain-brand--inverse { --plctrain-mark-color: #315fc4; color: #172d42; }
}
