:root {
  --worksheet-ink: var(--dmr-ink, #212121);
  --worksheet-bg: var(--dmr-bg, #fbe9f2);
  --worksheet-panel: var(--dmr-panel, #fffcf0);
  --worksheet-green: var(--dmr-green, #d1e8ca);
  --worksheet-blue: var(--dmr-blue, #bde7fb);
  --worksheet-yellow: var(--dmr-yellow, #ffe298);
  --worksheet-pink: var(--dmr-pink, #fbdce9);
  --worksheet-purple: var(--dmr-purple, #d8cfe7);
  --worksheet-neutral: var(--dmr-neutral, #fff2df);
}

[hidden] {
  display: none !important;
}

.worksheet-page {
  box-sizing: border-box;
  display: grid;
  gap: clamp(22px, 2.8vw, 36px);
  width: min(100%, var(--dmr-content-max, 1460px));
  max-width: var(--dmr-content-max, 1460px);
  margin: 0 auto;
  padding: clamp(16px, 2.2vw, 28px);
}

.worksheet-hero,
.worksheet-builder,
.worksheet-section,
.worksheet-card,
.worksheet-preview-card {
  min-width: 0;
  max-width: 100%;
  border: 6px solid var(--worksheet-ink);
  background: var(--worksheet-panel);
}

.worksheet-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
  gap: clamp(14px, 2.4vw, 26px);
  align-items: stretch;
  padding: clamp(18px, 3vw, 32px);
  background: var(--dmr-mode-nav, var(--worksheet-green));
}

.worksheet-hero h1,
.worksheet-hero p,
.worksheet-section h2,
.worksheet-section p,
.worksheet-card h2,
.worksheet-card p,
.worksheet-builder h2,
.worksheet-builder p,
.worksheet-preview-card h3 {
  margin: 0;
}

.worksheet-hero h1 {
  max-width: 960px;
  font-size: clamp(36px, 5vw, 72px);
  line-height: 0.98;
}

.worksheet-hero p,
.worksheet-section p,
.worksheet-card p,
.worksheet-builder p,
.worksheet-list li {
  font-weight: 850;
  line-height: 1.35;
}

.worksheet-hero__copy,
.worksheet-hero__panel,
.worksheet-builder,
.worksheet-section,
.worksheet-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-width: 0;
}

.worksheet-hero__panel {
  padding: 16px;
  border: 5px solid var(--worksheet-ink);
  background: rgb(255 252 240 / 82%);
}

.worksheet-hero__panel strong {
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1;
}

.worksheet-hero__actions,
.worksheet-card-grid,
.worksheet-link-row,
.worksheet-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.worksheet-link,
.worksheet-button,
.worksheet-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 9px 13px;
  border: 5px solid var(--worksheet-ink);
  background: var(--worksheet-blue);
  color: var(--worksheet-ink);
  font: inherit;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.1;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
}

.worksheet-link:nth-child(2n),
.worksheet-button:nth-child(2n),
.worksheet-card:nth-child(3n + 2) a {
  background: var(--worksheet-yellow);
}

.worksheet-link:hover,
.worksheet-link:focus-visible,
.worksheet-button:hover,
.worksheet-button:focus-visible,
.worksheet-card a:hover,
.worksheet-card a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.worksheet-builder,
.worksheet-section {
  padding: clamp(16px, 2.4vw, 24px);
}

.worksheet-builder {
  background: var(--dmr-mode-badge, var(--worksheet-neutral));
}

.worksheet-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.worksheet-field {
  display: grid;
  gap: 6px;
  min-width: 0;
  font-weight: 900;
}

.worksheet-field span {
  font-size: 12px;
  text-transform: uppercase;
}

.worksheet-field select {
  width: 100%;
  min-height: 48px;
  border: 5px solid var(--worksheet-ink);
  border-radius: 0;
  background: var(--worksheet-panel);
  color: var(--worksheet-ink);
  font: inherit;
  font-weight: 900;
}

.worksheet-status {
  min-height: 24px;
  font-weight: 900;
}

.worksheet-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(280px, 0.22fr);
  gap: 16px;
}

.worksheet-preview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.worksheet-preview-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 8px;
  min-height: 190px;
  padding: 10px;
  border-width: 4px;
  overflow: hidden;
}

.worksheet-preview-card__number {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 3px solid var(--worksheet-ink);
  background: var(--worksheet-green);
  font-size: 15px;
}

.worksheet-preview-card h3 {
  font-size: 13px;
  line-height: 1.1;
  text-transform: uppercase;
}

.worksheet-preview-card__body {
  display: grid;
  place-items: center;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.1;
  text-align: center;
}

.worksheet-preview-card__body > * {
  max-width: 100%;
  max-height: 120px;
}

.worksheet-info {
  display: grid;
  gap: 12px;
  align-content: start;
}

.worksheet-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.worksheet-list li {
  padding: 9px 10px;
  border: 4px solid var(--worksheet-ink);
  background: var(--worksheet-panel);
}

.worksheet-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.worksheet-card {
  min-width: 0;
  min-height: 210px;
  padding: 16px;
  border-width: 5px;
}

.worksheet-card:nth-child(3n + 1) {
  background: var(--worksheet-blue);
}

.worksheet-card:nth-child(3n + 2) {
  background: var(--worksheet-yellow);
}

.worksheet-card:nth-child(3n) {
  background: var(--worksheet-pink);
}

.worksheet-card h2,
.worksheet-section h2,
.worksheet-builder h2 {
  font-size: clamp(24px, 3vw, 38px);
  line-height: 1;
}

.worksheet-note {
  padding: 12px;
  border: 4px solid var(--worksheet-ink);
  background: var(--worksheet-purple);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.35;
}

.worksheet-print-frame {
  position: fixed;
  width: 1px;
  height: 1px;
  right: 0;
  bottom: 0;
  border: 0;
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 1100px) {
  .worksheet-hero,
  .worksheet-layout,
  .worksheet-form {
    grid-template-columns: 1fr;
  }

  .worksheet-preview,
  .worksheet-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .worksheet-preview,
  .worksheet-card-grid {
    grid-template-columns: 1fr;
  }

  .worksheet-hero h1 {
    font-size: clamp(34px, 12vw, 52px);
  }
}
