.worksheet-builder [hidden] { display: none !important; }
.worksheet-builder .worksheet-controls { margin-block: 1.25rem; }
.worksheet-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem 1.5rem;
}
.worksheet-field { min-width: 0; }
.worksheet-field label {
  display: block;
  margin-bottom: .4rem;
  font-family: var(--font-heading);
  font-weight: 800;
}
.worksheet-field input,
.worksheet-field select {
  display: block;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: .7rem .8rem;
  border: 1px solid var(--dark-border);
  border-radius: .65rem;
  background: var(--dark-bg);
  color: var(--text-primary);
  font: inherit;
}
.worksheet-field input[readonly] { font-size: .9rem; }
.worksheet-builder :is(input, select, button):focus-visible {
  outline: 3px solid var(--pastel-blue);
  outline-offset: 3px;
}
.worksheet-builder button:disabled { opacity: .55; cursor: not-allowed; }
.worksheet-help {
  margin-top: .45rem;
  color: var(--text-secondary);
  font-size: .88rem;
  line-height: 1.6;
}
.worksheet-feedback { margin-block: 1rem; overflow-wrap: anywhere; }
.worksheet-feedback ul { margin: .65rem 0 0 1.25rem; }
.worksheet-print-tools { margin-block: 1.5rem; }
.worksheet-print-tools .worksheet-help { max-width: 75ch; }
.worksheet-key-toggle {
  display: flex;
  align-items: center;
  gap: .7rem;
  min-height: 48px;
  margin-bottom: .8rem;
  cursor: pointer;
}
.worksheet-key-toggle input {
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  accent-color: var(--pastel-purple);
}
.worksheet-sheet {
  max-width: 820px;
  margin: 1.5rem auto;
  padding: 2rem;
  border: 1px solid #c7ced8;
  border-radius: .8rem;
  color: #1d2634;
  background: #fff;
  font-family: var(--font-body);
}
.worksheet-sheet-header { padding-bottom: 1rem; border-bottom: 2px solid #c7ced8; }
.worksheet-sheet-header h2 {
  margin: .35rem 0 .5rem;
  color: #1d2634;
  font-size: 1.65rem;
  line-height: 1.25;
}
.worksheet-sheet .worksheet-brand {
  color: #475569;
  font: 800 .75rem var(--font-heading);
  letter-spacing: .08em;
}
.worksheet-sheet p { color: #334155; }
.worksheet-sheet .worksheet-code {
  margin-bottom: .5rem;
  font-size: .85rem;
  overflow-wrap: anywhere;
}
.worksheet-questions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  padding: 1.25rem 0;
  margin: 0;
  list-style: none;
}
.worksheet-question {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .7rem;
  min-width: 0;
  min-height: 75px;
  padding: .5rem .25rem;
  break-inside: avoid;
}
.worksheet-question-number { flex-shrink: 0; color: #475569; font-size: .85rem; }
.worksheet-equation { font-size: 1.35rem; font-weight: 600; white-space: nowrap; }
.worksheet-answer-space {
  display: block;
  flex: 1 0 2.5rem;
  min-width: 2.5rem;
  max-width: 5rem;
  height: 1.7rem;
  border-bottom: 1px solid #475569;
}
.worksheet-sheet[data-activity="clock"] .worksheet-questions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.worksheet-sheet[data-activity="clock"] .worksheet-question {
  justify-content: center;
  align-content: start;
  gap: .3rem;
}
.worksheet-sheet[data-activity="clock"] .worksheet-question-number { width: 100%; }
.worksheet-sheet[data-activity="clock"] .worksheet-answer-space {
  flex: 0 0 70%;
  max-width: 6.5rem;
}
.worksheet-clock { display: block; width: 100%; max-width: 180px; height: auto; }
.clock-face { fill: #fff; stroke: #1d2634; stroke-width: 2; }
.clock-hour-tick { stroke: #475569; stroke-width: 2; }
.clock-minute-tick { stroke: #94a3b8; stroke-width: 1; }
.clock-number { fill: #1d2634; font: 700 17px var(--font-heading); }
.clock-hour-hand { stroke: #1d2634; stroke-width: 7; stroke-linecap: round; }
.clock-minute-hand { stroke: #57409a; stroke-width: 3.5; stroke-linecap: round; }
.clock-pin { fill: #1d2634; }
.worksheet-sheet-footer {
  margin-top: .75rem;
  padding-top: .7rem;
  border-top: 1px solid #c7ced8;
  font-size: .7rem;
  overflow-wrap: anywhere;
}
.worksheet-key-list {
  columns: 2;
  column-gap: 2.5rem;
  padding: 1.25rem 0 1.25rem 1.5rem;
  font-size: 1.05rem;
}
.worksheet-key-list li { margin-bottom: .75rem; padding-left: .25rem; break-inside: avoid; }
@media (max-width: 600px) {
  .worksheet-fields { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
  .worksheet-sheet { padding: 1rem; }
  .worksheet-questions { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
  .worksheet-sheet[data-activity="clock"] .worksheet-questions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .worksheet-sheet-header h2 { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) {
  .worksheet-builder { scroll-behavior: auto; }
}
@page { size: auto; margin: 12mm; }
@media print {
  html, body { background: #fff !important; color: #000 !important; }
  body > :not(main) { display: none !important; }
  main.worksheet-builder {
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #000;
  }
  .worksheet-screen-only { display: none !important; }
  .worksheet-builder .worksheet-sheet {
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    color: #000;
    background: #fff;
    line-height: 1.3;
  }
  .worksheet-sheet-header { break-after: avoid; padding-bottom: 3mm; }
  .worksheet-sheet-header h2 { font-size: 18pt; }
  .worksheet-sheet p { color: #222; font-size: 9pt; }
  .worksheet-sheet .worksheet-brand { font-size: 8pt; }
  .worksheet-sheet .worksheet-code { font-size: 8pt; }
  .worksheet-builder .worksheet-questions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3mm 8mm;
    padding-block: 4mm;
  }
  .worksheet-question { min-height: 15mm; padding: 1mm; }
  .worksheet-equation { font-size: 16pt; }
  .worksheet-answer-space { height: 7mm; }
  .worksheet-builder .worksheet-sheet[data-activity="clock"] .worksheet-questions {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 3mm 4mm;
  }
  .worksheet-sheet[data-activity="clock"] .worksheet-question { gap: 1mm; }
  .worksheet-clock { width: 100%; max-width: 34mm; }
  .worksheet-question-number { font-size: 8pt; line-height: 1; }
  .worksheet-sheet[data-activity="clock"] .worksheet-answer-space { height: 5mm; }
  .worksheet-sheet[data-count="20"] .worksheet-clock { max-width: 28mm; }
  .worksheet-sheet[data-count="20"] .worksheet-question { padding: 0; }
  .worksheet-sheet[data-count="20"] .clock-number { font-size: 20px; }
  .worksheet-sheet .worksheet-sheet-footer { margin-top: 2mm; padding-top: 2mm; font-size: 7pt; }
  .worksheet-answer-key { break-before: page; }
  .worksheet-key-list { font-size: 12pt; }
}
