.athena-geometry-diagrams {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 14px;
  margin: 18px 0 8px;
  clear: both;
}

.athena-geometry-diagram {
  position: relative;
  width: 100%;
  min-height: 300px;
  overflow: hidden;
  border: 1px solid rgba(45, 138, 120, .24);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(35, 48, 61, .08);
  direction: ltr;
}

.athena-geometry-diagram::before {
  content: "معطيات السؤال";
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 8px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(238, 248, 245, .94);
  color: #276f62;
  font-size: 12px;
  font-weight: 800;
  direction: rtl;
  pointer-events: none;
}

.athena-geometry-diagram svg {
  display: block;
  width: 100%;
  height: 300px;
  touch-action: pan-y;
}

.athena-geometry-diagram .athena-geo-line,
.athena-geometry-diagram .athena-geo-parallel-line,
.athena-geometry-diagram .athena-geo-transversal,
.athena-geometry-diagram .athena-geo-special-line,
.athena-geometry-diagram .athena-geo-parallel-inner,
.athena-geometry-diagram .athena-geo-extension {
  fill: none;
  stroke: #263b49;
  stroke-width: 2.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-special-line {
  stroke: #d97706;
  stroke-dasharray: 7 5;
}

.athena-geometry-diagram .athena-geo-parallel-line,
.athena-geometry-diagram .athena-geo-parallel-inner {
  stroke: #2563eb;
}

.athena-geometry-diagram .athena-geo-transversal {
  stroke: #b45309;
}

.athena-geometry-diagram .athena-geo-extension {
  stroke: #667985;
  stroke-dasharray: 5 4;
}

.athena-geometry-diagram .athena-geo-point {
  fill: #fff;
  stroke: #1f7565;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-point-label,
.athena-geometry-diagram .athena-geo-label,
.athena-geometry-diagram .athena-geo-length,
.athena-geometry-diagram .athena-geo-angle-value,
.athena-geometry-diagram .athena-geo-angle-number,
.athena-geometry-diagram .athena-geo-line-name,
.athena-geometry-diagram .athena-geo-proof-question,
.athena-geometry-diagram .athena-geo-proof-caption,
.athena-geometry-diagram .athena-geo-exterior-value {
  font-family: Arial, sans-serif;
  direction: ltr;
  unicode-bidi: isolate;
  paint-order: stroke;
  stroke: #fff;
  stroke-width: 4px;
  stroke-linejoin: round;
  user-select: none;
}

.athena-geometry-diagram .athena-geo-point-label {
  fill: #162b38;
  font-size: 14px;
  font-weight: 900;
}

.athena-geometry-diagram .athena-geo-length {
  fill: #334b5a;
  font-size: 13px;
  font-weight: 800;
}

.athena-geometry-diagram .athena-geo-angle-value,
.athena-geometry-diagram .athena-geo-exterior-value {
  fill: #9a4f0d;
  font-size: 13px;
  font-weight: 900;
}

.athena-geometry-diagram .athena-geo-angle-value.small {
  font-size: 11px;
}

.athena-geometry-diagram .athena-geo-angle-number {
  fill: #4b5d68;
  font-size: 12px;
  font-weight: 800;
}

.athena-geometry-diagram .athena-geo-angle-number.active {
  fill: #8b2d5c;
}

.athena-geometry-diagram .athena-geo-line-name {
  fill: #1d4ed8;
  font-size: 15px;
  font-style: italic;
  font-weight: 900;
}

.athena-geometry-diagram .athena-geo-proof-question {
  fill: #8b2d5c;
  font-size: 24px;
  font-weight: 900;
}

.athena-geometry-diagram .athena-geo-tick,
.athena-geometry-diagram .athena-geo-base-tick {
  stroke: #b04a67;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-base-tick {
  stroke: #7b5ca7;
}

.athena-geometry-diagram .athena-geo-angle-arc,
.athena-geometry-diagram .athena-geo-angle-arc-secondary {
  fill: none;
  stroke: #b04a67;
  stroke-width: 2;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-angle-arc-secondary {
  stroke: #d97706;
}

.athena-geometry-diagram .athena-geo-right-angle {
  fill: none;
  stroke: #d97706;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-parallel-mark {
  fill: none;
  stroke: #2563eb;
  stroke-width: 2.2;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-angle-highlight {
  fill: rgba(255, 207, 88, .42);
  stroke: rgba(217, 119, 6, .65);
  stroke-width: 1.3;
  vector-effect: non-scaling-stroke;
}

.athena-geometry-diagram .athena-geo-invalid-bg {
  fill: #fff8f8;
  stroke: rgba(185, 28, 28, .18);
}

.athena-geometry-diagram .athena-geo-invalid-cross {
  stroke: rgba(185, 28, 28, .65);
  stroke-width: 4;
  vector-effect: non-scaling-stroke;
}

@media (max-width: 600px) {
  .athena-geometry-diagrams { grid-template-columns: 1fr; }
  .athena-geometry-diagram,
  .athena-geometry-diagram svg { min-height: 270px; height: 270px; }
}

@media print {
  .athena-geometry-diagram { break-inside: avoid; box-shadow: none; }
}

/* Safe math text: no TeX tokenization is used in this lesson. */
.isosceles-parallel-lesson code.athena-math-text,
.athena-question-card code.athena-math-text,
.athena-answer-box code.athena-math-text {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  padding: 0 .12em;
  margin: 0 .06em;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-family: "Cambria Math", "STIX Two Math", "Times New Roman", serif;
  white-space: nowrap;
}
.isosceles-parallel-lesson .athena-math-display-text {
  direction: ltr;
  unicode-bidi: isolate;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 14px auto;
  text-align: center;
  font-size: 1.12em;
}

.athena-geometry-diagram .athena-geo-proof-caption {
  fill: #8b2d5c;
  font-size: 13px;
  font-weight: 900;
}
.athena-question-card > .athena-geometry-diagrams,
.isosceles-parallel-lesson li > .athena-geometry-diagrams {
  margin-block: 16px 12px;
}
