/* MATHESIS DEEP — Extended styles for rigorous mathematics */

/* ========== DEFINITION / THEOREM / PROOF BLOCKS ========== */
.definition-block,
.theorem-block,
.lemma-block,
.corollary-block,
.proof-block,
.example-block,
.remark-block {
  margin: 2rem 0;
  padding: 1.5rem 1.8rem;
  border-radius: 6px;
  position: relative;
}

.definition-block {
  background: rgba(0, 240, 255, 0.04);
  border-left: 4px solid var(--accent);
}

.theorem-block {
  background: rgba(0, 255, 136, 0.04);
  border-left: 4px solid var(--success);
}

.lemma-block {
  background: rgba(0, 255, 136, 0.03);
  border-left: 4px solid rgba(0, 255, 136, 0.5);
}

.corollary-block {
  background: rgba(0, 255, 136, 0.03);
  border-left: 4px solid rgba(0, 200, 136, 0.5);
}

.proof-block {
  background: rgba(255, 255, 255, 0.02);
  border-left: 4px solid rgba(255, 255, 255, 0.15);
}

.example-block {
  background: rgba(255, 170, 0, 0.04);
  border-left: 4px solid var(--warning);
}

.remark-block {
  background: rgba(255, 255, 255, 0.02);
  border-left: 4px solid var(--text-dim);
}

.definition-block .block-label,
.theorem-block .block-label,
.lemma-block .block-label,
.corollary-block .block-label,
.proof-block .block-label,
.example-block .block-label,
.remark-block .block-label {
  display: block;
  font-family: var(--font-system);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin-bottom: 0.8rem;
}

.definition-block .block-label { color: var(--accent); }
.theorem-block .block-label { color: var(--success); }
.lemma-block .block-label { color: rgba(0, 255, 136, 0.7); }
.corollary-block .block-label { color: rgba(0, 200, 136, 0.7); }
.proof-block .block-label { color: var(--text-dim); }
.example-block .block-label { color: var(--warning); }
.remark-block .block-label { color: var(--text-dim); }

.definition-block .block-title,
.theorem-block .block-title {
  font-weight: 600;
  color: var(--text-bright);
  margin-bottom: 0.5rem;
}

.qed {
  text-align: right;
  color: var(--text-dim);
  font-size: 1.2rem;
  margin-top: 0.5rem;
}

.qed::after {
  content: '\25A0';
}

/* ========== BRIDGE TO RIGOR ========== */
.bridge-section::before {
  content: 'Bridge to Rigor';
}

/* ========== PART HEADER ========== */
.part-label {
  display: block;
  font-family: var(--font-mono);
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 0.3rem;
  opacity: 0.6;
}

/* ========== LANDING BUTTONS ========== */
.landing-buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2rem;
}

.back-link {
  font-family: var(--font-system);
  font-size: 0.8rem;
  color: var(--text-dim);
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: color 0.3s ease;
  animation: fadeInUp 1.5s ease 0.9s both;
}

.back-link:hover {
  color: var(--accent);
  text-decoration: none;
}

/* ========== DEEP CANVAS HELPERS ========== */
.grid-overlay {
  pointer-events: none;
}

/* ========== INLINE PROOF STEPS ========== */
.proof-block ol {
  padding-left: 1.2em;
  counter-reset: proof-step;
}

.proof-block ol li {
  margin-bottom: 0.6em;
  counter-increment: proof-step;
}

.proof-block ol li::marker {
  color: var(--text-dim);
}

/* ========== ALGORITHM BLOCKS ========== */
.algorithm-block {
  margin: 2rem 0;
  padding: 1.5rem 1.8rem;
  background: rgba(0, 0, 0, 0.3);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  font-family: var(--font-mono);
  font-size: 0.85rem;
  line-height: 1.8;
}

.algorithm-block .alg-label {
  display: block;
  font-family: var(--font-system);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--accent);
  margin-bottom: 0.8rem;
}

.algorithm-block .alg-line {
  padding-left: 1em;
  color: var(--text);
}

.algorithm-block .alg-line.indent-1 { padding-left: 2em; }
.algorithm-block .alg-line.indent-2 { padding-left: 3em; }

.algorithm-block .alg-keyword {
  color: var(--accent);
  font-weight: 600;
}

/* ========== TABLE STYLES ========== */
.math-table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 0.9rem;
}

.math-table th,
.math-table td {
  padding: 0.6rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  text-align: center;
}

.math-table th {
  background: rgba(0, 240, 255, 0.06);
  color: var(--accent);
  font-family: var(--font-system);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.math-table td {
  background: rgba(255, 255, 255, 0.01);
}

.math-table tr:hover td {
  background: rgba(255, 255, 255, 0.03);
}

/* ========== AXIOM LIST ========== */
.axiom-list {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
}

.axiom-list li {
  padding: 1rem 1.2rem;
  margin-bottom: 0.5rem;
  background: rgba(0, 240, 255, 0.03);
  border-left: 3px solid var(--accent);
  border-radius: 0 4px 4px 0;
}

.axiom-list li strong {
  color: var(--accent);
  display: block;
  margin-bottom: 0.3rem;
  font-family: var(--font-system);
  font-size: 0.85rem;
}
