/* Existing Quiet Editorial tokens and native controls, scoped to practical work. */
.practical-task, .editorial-utility, .editorial-tool-index {
  max-width: 1080px;
  margin: 2.5rem auto;
  padding: 0 1.5rem;
  overflow-wrap: anywhere;
  min-width: 0;
}
.practical-task > *, .editorial-utility > * { max-width: 67ch; }
.practical-task h2, .editorial-utility h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
.practical-task h3, .editorial-utility h3 { font-size: 1.2rem; line-height: 1.4; margin-top: 1.5rem; }
.practical-task p, .practical-task li, .editorial-utility p, .editorial-utility li {
  font-size: 1rem; line-height: 1.7;
}
.practical-task .task-enhancement { display: none; }
.practical-task.task-ready .task-enhancement { display: block; }
.practical-task.task-ready .task-fallback { display: none; }
.practical-task label, .editorial-utility label { display: block; margin-top: 1rem; font-weight: 600; }
.practical-task input:not([type=checkbox]), .practical-task select, .practical-task textarea,
.editorial-utility input, .editorial-utility select {
  display: block; width: 100%; max-width: 100%; min-width: 0; min-height: 44px;
  padding: .65rem .75rem; margin: .4rem 0 1rem; border: 1px solid #687f76;
  border-radius: 4px; background: #fffef9; color: #18352d; font: inherit;
  box-sizing: border-box;
}
.practical-task textarea { min-height: 7rem; resize: vertical; }
.practical-task fieldset { min-width: 0; border: 1px solid #687f76; margin: 1rem 0; padding: 1rem; }
.practical-task button, .editorial-utility button {
  min-height: 44px; max-width: 100%; white-space: normal; padding: .6rem 1rem;
  margin: .5rem .4rem .5rem 0; border: 1px solid #687f76; border-radius: 4px;
  background: #fffef9; color: #18352d; font: inherit; cursor: pointer;
}
.practical-task button:disabled { cursor: default; background: #eff3ee; color: #4a6257; }
.practical-task :is(button,input,textarea,select,a):focus-visible,
.editorial-utility :is(button,input,select,a,summary):focus-visible {
  outline: 3px solid #21695c; outline-offset: 3px;
}
.practical-task [hidden], .editorial-utility [hidden] { display: none !important; }
.practical-task [id=result], .practical-task [id=answer], .practical-task [id=map-output],
#help-choice, #teaching-result { margin-top: 1.5rem; padding: 1rem; border-left: 3px solid #21695c; background: #eff3ee; }
.practical-task pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; }
.practical-task table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.practical-task th, .practical-task td { padding: .6rem; text-align: left; vertical-align: top; border-bottom: 1px solid #687f76; }
.task-privacy, .task-message { color: #365749; }
.editorial-actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; margin: 2rem 0; }
.editorial-actions a { max-width: 100%; }
.editorial-sources li { margin-bottom: 1rem; }
.privacy-situation, .help-start { padding: 1.2rem 0; border-bottom: 1px solid #b5c9bf; }
.privacy-situation summary { cursor: pointer; min-height: 44px; padding: .6rem 0; }
@media (max-width: 700px) {
  .practical-task, .editorial-utility, .editorial-tool-index { padding: 0 1rem; }
  .practical-task table, .practical-task tbody, .practical-task tr, .practical-task td { display: block; width: 100%; }
  .practical-task thead { display: none; }
  .practical-task td { box-sizing: border-box; }
  .practical-task td[data-label]::before { content: attr(data-label) ": "; font-weight: 600; }
}
@media print {
  .practical-task form, .practical-task fieldset, .practical-task button,
  .practical-task .task-message, .practical-task .controls, .practical-task .actions { display: none !important; }
  body.task-print main > :not(.practical-task) { display: none !important; }
  body.task-print :is(.site-header,.site-footer,.preview-banner,.skip) { display: none !important; }
  body.task-print .practical-task { max-width: none; padding: 0; margin: 0; }
  body.task-print main { display: block; padding: 0; margin: 0; }
  body.task-print .practical-task [id=map-output] { padding: 0; border: 0; background: white; }
  /* A six-column inventory with long guidance is unreadable on paper.
     Print each entry as a labeled record rather than narrow table columns. */
  body.task-print .practical-task :is(table,tbody,tr,td) { display: block; width: 100%; }
  body.task-print .practical-task thead { display: none; }
  body.task-print .practical-task tr { margin-bottom: 1rem; break-inside: avoid; }
  body.task-print .practical-task td { box-sizing: border-box; border: 0; padding: .25rem 0; }
  body.task-print .practical-task td[data-label]::before { content: attr(data-label) ": "; font-weight: 600; }
  body.task-print .practical-task td[data-label=Remove] { display: none; }
  .practical-task pre, .practical-task td, .practical-task p { color: black; }
}
