/* NYU Theme for worksheets */

:root {
  --primary-color: #57068c; /* NYU Purple */
  --secondary-color: #6c757d; /* Gray */
  --accent-color: #8e44ad; /* Lighter purple */
  --background-color: #ffffff; /* White */
  --text-color: #333333; /* Dark gray */

  --box-background: #f8f6ff; /* Very light purple */
  --exercise-background: white; /* White background for exercises */
  --highlight-background: #f0f8ff; /* Alice blue */
  --solution-background: #e9ecef; /* Light gray */
  --instructor-background: #fff5f5; /* Light red */
  --key-background: #fff3cd; /* Light yellow */
  --key-border: #ffeaa7; /* Yellow border */
  --question-background: #f8f9fa; /* Very light gray */

  --instructor-color: #dc3545; /* Red for instructor content */
  --key-color: #856404; /* Dark yellow */
  --solution-color: #28a745; /* Green */
}

/* NYU branding in header */
.worksheet-header {
  border-bottom-color: var(--primary-color);
}

.worksheet-title {
  color: var(--primary-color);
}

.worksheet-subtitle {
  color: var(--accent-color);
}

/* Header with NYU branding */
.worksheet-header::after {
  content: "";
  display: block;
  text-align: center;
  font-size: 10pt;
  color: var(--secondary-color);
  margin-top: 0.5em;
  font-style: italic;
}

/* Course information styling */
.course-info,
.instructor-info,
.date-info {
  color: var(--text-color);
}

.course-info strong,
.instructor-info strong,
.date-info strong {
  color: var(--primary-color);
}

/* Student information fields */
.name-field strong,
.id-field strong {
  color: var(--primary-color);
}

.fill-blank {
  border-bottom-color: var(--primary-color);
}

/* Pedagogical elements with NYU colors */
.theorem,
.definition,
.example,
.lemma,
.proposition {
  border-color: var(--primary-color);
  background-color: var(--box-background);
}

.theorem::before,
.definition::before {
  color: var(--primary-color);
}

.example::before {
  color: var(--accent-color);
}

.exercise {
  border-color: var(--accent-color);
  background-color: var(--exercise-background);
}

.exercise::before {
  color: var(--accent-color);
}

.exercise .timing {
  color: var(--accent-color);
  background-color: white;
  border: 1px solid var(--accent-color);
}

/* Student work areas */
.student-work {
  border-color: var(--secondary-color);
  background-color: rgba(248, 246, 255, 0.3);
}

.student-work::before {
  color: var(--secondary-color);
}

/* Questions */
.question {
  border-left-color: var(--accent-color);
  background-color: var(--question-background);
}

.question::before {
  color: var(--accent-color);
}

/* Think-pair-share */
.think-pair-share {
  border-color: var(--accent-color);
  background-color: var(--highlight-background);
}

.think-pair-share::before {
  color: var(--accent-color);
}

.think-pair-share .phase {
  border-left-color: var(--accent-color);
}

/* Proofs */
.proof {
  border-left-color: var(--secondary-color);
}

/* Solutions (instructor version) */
.solution {
  border-color: var(--solution-color);
  background-color: var(--solution-background);
}

.solution::before {
  color: var(--solution-color);
}

/* Key concepts */
.key-concept {
  background-color: var(--key-background);
  border-color: var(--key-border);
}

.key-concept::before {
  color: var(--key-color);
}

/* Math styling */
.katex-display {
  color: var(--text-color);
}

.equation-block {
  background-color: rgba(248, 246, 255, 0.2);
  border-radius: 4px;
  padding: 1em;
  margin: 1.5em 0;
}

/* Links */
a {
  color: var(--primary-color);
  text-decoration: none;
}

a:hover {
  color: var(--accent-color);
  text-decoration: underline;
}

/* Footer */
.worksheet-footer {
  border-top-color: var(--secondary-color);
  color: var(--secondary-color);
}

/* Tables - simple and compact */
table {
  border-collapse: collapse;
  width: auto;
  margin: 1em auto;
  font-size: 11pt;
}

table th, table td {
  border: 1px solid black;
  padding: 0.05em 0.15em;
  text-align: center;
  vertical-align: middle;
  background-color: white;
}

table th {
  font-weight: bold;
  background-color: white;
  color: black;
}

/* Code blocks */
pre {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 1em;
  font-family: "Monaco", "Menlo", "Consolas", monospace;
  font-size: 10pt;
  line-height: 1.4;
  overflow-x: auto;
}

code {
  background-color: #f8f8f8;
  padding: 0.2em 0.4em;
  border-radius: 3px;
  font-family: "Monaco", "Menlo", "Consolas", monospace;
  font-size: 0.9em;
}

/* Correction marking - simple red text */
.correction {
  color: #dc3545;
}

/* Correction in code */
code .correction,
pre code .correction {
  color: #dc3545;
}

/* Lists */
ul {
  list-style-type: disc;
  padding-left: 1.5em;
}

ol {
  padding-left: 1.5em;
}

li {
  margin-bottom: 0.5em;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid var(--accent-color);
  padding-left: 1em;
  margin: 1em 0;
  font-style: italic;
  background-color: rgba(248, 246, 255, 0.1);
}

/* Print-specific NYU adjustments */
@media print {
  .theorem,
  .definition,
  .example,
  .exercise {
    border-color: black !important;
    background-color: white !important;
  }

  .exercise {
    border-width: 2px;
  }

  .worksheet-header {
    border-bottom-color: black !important;
  }

  .worksheet-title {
    color: black !important;
  }

  .fill-blank {
    border-bottom-color: black !important;
  }

  .student-work {
    border-color: black !important;
    background-color: white !important;
  }

  .question {
    border-left-color: black !important;
    background-color: white !important;
  }

  .think-pair-share {
    border-color: black !important;
    background-color: white !important;
  }

  .think-pair-share .phase {
    border-left-color: black !important;
  }
}

/* Code block copy button styling */
.code-block-wrapper {
  position: relative;
  margin: 1em 0;
}

.code-block-wrapper pre {
  margin: 0;
  padding-right: 3.5em; /* Make room for copy button */
}

.copy-code-button {
  position: absolute;
  top: 8px;
  right: 8px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 500;
  color: var(--primary-color);
  background-color: white;
  border: 1px solid var(--primary-color);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  opacity: 0.7;
  z-index: 10;
}

.copy-code-button:hover {
  opacity: 1;
  background-color: var(--primary-color);
  color: white;
}

.copy-code-button.copied {
  background-color: #28a745;
  border-color: #28a745;
  color: white;
  opacity: 1;
}

/* Hide copy button when printing */
@media print {
  .copy-code-button {
    display: none !important;
  }

  .code-block-wrapper pre {
    padding-right: 1em; /* Restore normal padding for print */
  }
}
