pre {
  width: 100%;
  min-height: 8em;
  white-space: pre-wrap;
  background: #373737;
  color: #fefffd;
  text-shadow: 0 0 0.1em rgb(187, 255, 0);
  padding: 1em;
  user-select: text;
  font-size: 1.2em;
  word-wrap: break-word;
  border-radius: var(--inner-border-radius);
}
pre.error {
  color: rgb(255, 238, 238);
  text-shadow: 0 0 0.1em red;
}
pre.request {
  background: var(--dark-grey);
  min-height: 1em;
}

pre::selection {
  background: rgb(35, 139, 149);
}

textarea {
  margin: 1em 0px;
}
/* Layout debug (graphical charter) */
.page-content.show-borders .section {
  border: dotted 0.4rem #ca2929;
}
.page-content.show-borders .panel {
  border: dashed 0.2rem #11b3d7;
}
.page-content.show-borders .header,
.page-content.show-borders .page-header {
  border: dotted 0.125rem #2fd22f;
}

.debug {
  border: dotted 0.2rem var(--orange);
}
.debug-r {
  border: dotted 0.2rem #ca2929;
}
.debug-g {
  border: dotted 0.2rem #2fd22f;
}
.debug-b {
  border: dotted 0.2rem #11b3d7;
}

/* Hidden configurator preparation tool. */
#platform:has(.configurator-tools-page) {
  mix-blend-mode: normal;
}
.configurator-tools-page {
  box-sizing: border-box;
  min-height: 100%;
  overflow: auto;
  padding: clamp(20px, 4vw, 56px);
  background: light-dark(#f4f6f8, #121416);
  color: light-dark(#18202a, #f4f6f8);
}
.configurator-tools-page * {
  box-sizing: border-box;
}
.configurator-tools__card {
  max-width: 900px;
  margin: auto;
}
.configurator-tools-page h1 {
  margin: 0 0 8px;
  font-size: 28px;
}
.configurator-tools__intro {
  max-width: 700px;
  margin: 0 0 24px;
  color: light-dark(#5b6572, #aeb7c2);
}
.configurator-tools__option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
  cursor: pointer;
}
.configurator-tools__option input:disabled {
  cursor: wait;
}
.configurator-tools__drop {
  display: grid;
  place-items: center;
  min-height: 230px;
  padding: 32px;
  border: 2px dashed light-dark(#9ba8b6, #5d6975);
  border-radius: 12px;
  background: light-dark(#fff, #1c2024);
  cursor: pointer;
  text-align: center;
  transition: 0.15s;
}
.configurator-tools__drop.is-dragging {
  border-color: #00a7e9;
  background: light-dark(#eefaff, #152b34);
}
.configurator-tools__drop.is-disabled {
  cursor: wait;
  opacity: 0.55;
}
.configurator-tools__drop input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.configurator-tools__drop strong {
  display: block;
  margin-bottom: 8px;
  font-size: 18px;
}
.configurator-tools__drop span {
  color: light-dark(#647181, #aeb7c2);
}
.configurator-tools__status {
  margin-top: 20px;
  padding: 18px;
  border-radius: 10px;
  background: light-dark(#fff, #1c2024);
}
.configurator-tools__status.is-error {
  border: 1px solid #e65555;
}
.configurator-tools__status.is-done {
  border: 1px solid #36a46f;
}
.configurator-tools__status p {
  margin: 0;
}
.configurator-tools__progress {
  display: grid;
  grid-template-columns: 100px 1fr auto;
  gap: 12px;
  align-items: center;
  margin-top: 12px;
}
.configurator-tools-page progress {
  width: 100%;
}
