/* Estilos isolados do laboratório e do jogo append() × extend(). */
.ae-module .ae-panel {
  margin: 1.5rem 0;
  padding: clamp(1rem, 3vw, 1.5rem);
  border: 1px solid #c4d5ed;
  border-radius: 16px;
  background: #f5f8ff;
  color: #172740;
  min-width: 0;
}
.ae-module .ae-hint { color: #46556e; font-size: .94rem; line-height: 1.6; }
.ae-module .ae-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ae-module .ae-field { display: block; margin: .9rem 0; min-width: 0; }
.ae-module .ae-label { display: block; margin-bottom: .45rem; font-weight: 600; }
.ae-module .ae-input,
.ae-module .ae-select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: .7rem;
  border: 1px solid #8199c1;
  border-radius: 9px;
  background: #fff;
  color: #172740;
  font: inherit;
}
.ae-module .ae-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.ae-module .ae-button {
  min-height: 44px;
  padding: .65rem 1rem;
  border: 1px solid #5277b7;
  border-radius: 9px;
  background: #fff;
  color: #173e8d;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  touch-action: manipulation;
}
.ae-module .ae-button:hover:not(:disabled) { background: #e5eeff; }
.ae-module .ae-primary { background: #1555bc; color: #fff; border-color: #1555bc; }
.ae-module .ae-primary:hover:not(:disabled) { background: #114696; }
.ae-module .ae-button:disabled { opacity: .55; cursor: not-allowed; }
.ae-module .ae-button:focus-visible,
.ae-module .ae-input:focus-visible,
.ae-module .ae-select:focus-visible { outline: 3px solid #ad6500; outline-offset: 3px; }
.ae-module .ae-output { min-width: 0; margin: 1rem 0; overflow-wrap: anywhere; }
.ae-module .ae-count { color: #364d6c; font-size: .92rem; font-weight: 600; margin: .5rem 0; }
.ae-module .ae-list { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; min-width: 0; max-width: 100%; }
.ae-module .ae-item {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
  border: 1px solid #aec7e9;
  border-radius: 10px;
  padding: .65rem;
  background: #fff;
  overflow-wrap: anywhere;
}
.ae-module .ae-index { display: block; margin-bottom: .35rem; color: #46556e; font-size: .8rem; }
.ae-module .ae-value { font-family: ui-monospace, Consolas, monospace; white-space: pre-wrap; }
.ae-module .ae-list-inner { padding: .4rem; border: 2px dashed #687caa; border-radius: 8px; background: #edf1ff; }
.ae-module .ae-bracket { font-size: 1.4rem; font-family: ui-monospace, Consolas, monospace; color: #244b82; }
.ae-module .ae-code {
  box-sizing: border-box;
  max-width: 100%;
  margin: .8rem 0;
  padding: 1rem;
  border-radius: 10px;
  background: #172740;
  color: #f4f7ff;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.6;
}
.ae-module .ae-feedback { min-height: 1.6em; line-height: 1.65; overflow-wrap: anywhere; }
.ae-module .ae-success { color: #165b33; font-weight: 600; }
.ae-module .ae-error { color: #a0241b; font-weight: 600; }
.ae-module .ae-game-status { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; font-weight: 600; }
.ae-module .ae-return { display: inline-block; padding: .2rem .5rem; border-radius: 5px; background: #e5edfb; color: #173e8d; }
.ae-module [hidden] { display: none !important; }
@media (max-width: 600px) {
  .ae-module .ae-grid { grid-template-columns: minmax(0, 1fr); }
  .ae-module .ae-actions { align-items: stretch; }
  .ae-module .ae-button { flex: 1 1 auto; }
  .ae-module .ae-item { padding: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .ae-module .ae-button,
  .ae-module .ae-item { animation: none; transition: none; scroll-behavior: auto; }
}
