/* Presentation locale inspiree des styles observes sur https://lexunica.org/ :
   fond blanc, Arial/Helvetica, texte noir et boutons gris classiques.
   Les selecteurs sont limites a Aargarm pour faciliter son integration. */
.aargarm-document {
  margin: 0;
  color: #000;
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  color-scheme: light;
}
.aargarm-app, .aargarm-app * { box-sizing: border-box; }
.aargarm-app { color: #000; font: 16px/1.7 Arial, Helvetica, sans-serif; }
.aargarm-page { max-width: 1072px; margin: 0 auto; padding: 32px 24px 20px; }
.aargarm-app .intro-text { margin: 0 0 24px; }
.aargarm-app .workspace {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  overflow: hidden;
}
.aargarm-app .toolbar,
.aargarm-app .toolbar-actions,
.aargarm-app .language-control,
.aargarm-app .editor-heading,
.aargarm-app .workspace-bottom,
.aargarm-app footer { display: flex; align-items: center; }
.aargarm-app .toolbar {
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px 20px;
  padding: 16px 20px;
  border-bottom: 1px solid #ddd;
  background: #f5f5f5;
}
.aargarm-app .language-control { gap: 12px; }
.aargarm-app .language-control label { font-size: 14px; color: #333; }
.aargarm-app select {
  color: #333;
  background: #fff;
  font: 14px Arial, Helvetica, sans-serif;
  border: 1px solid #bbb;
  border-radius: 4px;
  padding: 8px 28px 8px 10px;
  min-height: 38px;
}
.aargarm-app .toolbar-actions { gap: 10px; flex-wrap: wrap; }
.aargarm-app .button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid #bbb;
  border-bottom-color: #a2a2a2;
  border-radius: 4px;
  color: #333;
  background: linear-gradient(#fff, #e6e6e6);
  box-shadow: inset 0 1px 0 #ffffff33, 0 1px 2px #0000000d;
  text-shadow: 0 1px 1px #ffffffbf;
  font: 14px/20px Arial, Helvetica, sans-serif;
  text-align: center;
  cursor: pointer;
}
.aargarm-app .button:hover { color: #000; background: #e6e6e6; }
.aargarm-app .button:active { background: #ddd; box-shadow: inset 0 2px 4px #00000026; }
.aargarm-app .button.primary { font-weight: 700; min-height: 42px; padding: 10px 18px; }
.aargarm-app .primary span { font-size: 22px; line-height: 18px; }
.aargarm-app .button:disabled { opacity: .5; cursor: default; }
.aargarm-app :is(button, select, textarea):focus-visible { outline: 2px solid #555; outline-offset: 3px; }
.aargarm-app .editors { display: grid; grid-template-columns: 1fr 1fr; }
.aargarm-app .editor { min-width: 0; padding: 20px; }
.aargarm-app .source-editor { border-right: 1px solid #ddd; }
.aargarm-app .result-editor { background: #fafafa; }
.aargarm-app .editor-heading { justify-content: space-between; gap: 8px; margin-bottom: 14px; }
.aargarm-app .editor-heading label { font-size: 16px; font-weight: 700; color: #000; }
.aargarm-app .step { color: #777; font-size: 12px; font-weight: 400; margin-right: 8px; }
.aargarm-app .count { color: #666; font-size: 12px; }
.aargarm-app textarea {
  display: block;
  width: 100%;
  min-height: 240px;
  height: 240px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: #fff;
  color: #000;
  font: 16px/1.7 Arial, Helvetica, sans-serif;
  padding: 10px 12px;
  resize: vertical;
}
.aargarm-app textarea::placeholder { color: #757575; opacity: 1; }
.aargarm-app .editor-note { color: #666; font-size: 12px; line-height: 1.6; margin: 12px 0 0; }
.aargarm-app .workspace-bottom { justify-content: space-between; gap: 12px; padding: 16px 20px; border-top: 1px solid #ddd; }
.aargarm-app .status { margin: 0; padding: 0 20px 16px; color: #555; min-height: 24px; font-size: 13px; line-height: 1.6; }
.aargarm-app noscript p { padding: 0 20px; color: #333; }
.aargarm-app .rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin: 28px 0; }
.aargarm-app .rules p { color: #333; font-size: 14px; line-height: 1.7; margin: 0; }
.aargarm-app .rules strong { display: block; color: #000; margin-bottom: 5px; }
.aargarm-app footer { justify-content: space-between; gap: 16px; padding-top: 16px; border-top: 1px solid #ddd; color: #666; font-size: 12px; }
/* La version cadre occupe seulement la place de l'application. */
.aargarm-frame-document { background: transparent; }
.aargarm-embed { width: 100%; max-width: none; margin: 0; padding: 0; }
@media (max-width: 740px) {
  .aargarm-page { padding: 20px 16px; }
  .aargarm-app .toolbar-actions { margin-left: auto; }
  .aargarm-app .editor { padding: 16px; }
  .aargarm-app .rules { grid-template-columns: 1fr; gap: 18px; }
}
@media (max-width: 580px) {
  .aargarm-page { padding: 16px 12px; }
  .aargarm-app .toolbar { padding: 14px; }
  .aargarm-app .language-control { width: 100%; justify-content: space-between; }
  .aargarm-app .toolbar-actions { width: 100%; justify-content: space-between; gap: 8px; }
  .aargarm-app .toolbar-actions .button { font-size: 12px; padding: 8px; }
  .aargarm-app .editors { grid-template-columns: 1fr; }
  .aargarm-app .source-editor { border-right: 0; border-bottom: 1px solid #ddd; }
  .aargarm-app textarea { min-height: 180px; height: 180px; }
  .aargarm-app .workspace-bottom { flex-direction: column; padding: 14px; }
  .aargarm-app .workspace-bottom .button { width: 100%; }
  .aargarm-app .status { padding: 0 14px 14px; }
  .aargarm-app footer { flex-direction: column; align-items: flex-start; gap: 5px; }
}