/* Shared presentation only. Each gallery keeps its own art, layout, and palette. */
.webmcp-visitor-button {
  --webmcp-accent: var(--glow, #9fd8ff);
  display: block;
  width: max-content;
  max-width: calc(100% - 2rem);
  margin: 1rem auto;
  padding: .38rem .72rem;
  border: 1px dotted color-mix(in srgb, var(--webmcp-accent) 72%, transparent);
  background: color-mix(in srgb, #050712 72%, transparent);
  color: var(--ink, #f4fbff);
  font: 700 .68rem/1.25 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .12em;
  text-align: center;
  text-decoration: none;
}
.webmcp-visitor-button:hover,.webmcp-visitor-button:focus-visible {
  border-style: solid;
  color: var(--webmcp-accent);
  text-shadow: 0 0 10px var(--webmcp-accent);
  outline: none;
}

/* Live work enters the existing small-card wall. Flagship pieces never receive this class. */
.webmcp-live-entry { position: relative; }
.webmcp-live-entry::after {
  content: "WEBMCP OFFERING";
  position: absolute;
  top: .45rem;
  right: .55rem;
  color: var(--glow, #9fd8ff);
  font: 700 .54rem/1 ui-monospace, SFMono-Regular, Consolas, monospace;
  letter-spacing: .12em;
  opacity: .68;
}
.webmcp-live-entry pre {
  display: block;
  width: max-content;
  min-width: 0;
  max-width: none;
  margin-left: auto !important;
  margin-right: auto !important;
  white-space: pre !important;
  text-align: left !important;
}
.webmcp-live-entry .webmcp-offering-note { display: block; margin-top: 1rem; white-space: pre-wrap; opacity: .78; }

/* The front hub uses a door, not a filter. */
#navSmall .webmcp-front-door {
  --ac: #9fd8ff;
  display: inline-flex;
  align-items: center;
  border-style: double;
  text-decoration: none;
}

@media (max-width: 700px) {
  .webmcp-live-entry::after { position: static; display: block; margin: .5rem 0; text-align: center; }
}
