/* src/components/jr/homework/homework.css — SJ2 Homework.
   Transcribed from art-source/design-sj2-2026-09-12/screens/SJ2 Homework.dc.html. Her geometry
   is inline there; every declaration below is moved out of her markup unchanged.
   The 72px bar, the guide bubble and the wash are activity.css, shared with Maths and Spelling. */

.jr-hw { position: absolute; inset: 0; overflow: hidden; background: var(--sj-stage); }
.jr-hw-spacer { flex: 1 1 auto; }

.jr-hw-pane { position: absolute; left: 0; right: 0; top: 72px; bottom: 0; box-sizing: border-box; }
.jr-hw-pane-none { padding: 60px; display: flex; gap: 36px; align-items: center; }
.jr-hw-pane-intro { padding: 40px 56px; display: flex; gap: 34px; align-items: center; }
.jr-hw-pane-paper { padding: 30px 48px; display: flex; gap: 26px; }
.jr-hw-pane-work { padding: 24px 40px 26px; display: flex; gap: 22px; }
.jr-hw-pane-done { padding: 40px 56px; display: flex; gap: 34px; align-items: center; }

/* ---------------------------------------------------------------- the big cards */
.jr-hw-card {
  flex: 1 1 auto;
  min-width: 0;
  box-sizing: border-box;
  background: var(--sj-card);
  border: 1px solid var(--sj-line);
  border-radius: 30px;
  box-shadow: 0 20px 46px rgba(35, 50, 44, .2);
  padding: 34px 40px;
}

.jr-hw-card-none { padding: 40px 44px; }

.jr-hw-tagrow { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; flex-wrap: wrap; }

.jr-hw-kicker {
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sj-card);
  background: var(--sj-sky);
  border-radius: var(--sj-r-pill);
  padding: 9px 20px;
}

.jr-hw-kicker-done { background: var(--sj-green); margin-bottom: 16px; }

.jr-hw-quiet {
  display: inline-flex;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sj-ink);
  background: var(--sj-stage);
  border: 1px solid var(--sj-line-warm);
  border-radius: var(--sj-r-pill);
  padding: 9px 20px;
  margin-bottom: 16px;
}

.jr-hw-source {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 16px;
  color: var(--sj-sky-ink);
  background: var(--sj-teal-tint);
  border: 1px solid #c7e3f3;
  border-radius: var(--sj-r-pill);
  padding: 8px 16px;
}

.jr-hw-title { margin: 0 0 12px; font-weight: 700; font-size: 50px; line-height: 1.05; letter-spacing: -.015em; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-title-none { line-height: 1.06; margin-bottom: 14px; }
.jr-hw-title-done { font-size: 48px; }

.jr-hw-blurb { margin: 0 0 22px; font-family: var(--sj-font-story); font-size: 24px; line-height: 1.45; color: var(--sj-ink); max-width: 46ch; text-wrap: pretty; }
.jr-hw-blurb-none { margin-bottom: 26px; font-size: 25px; max-width: 44ch; }
.jr-hw-blurb-done { margin-bottom: 24px; max-width: 48ch; }

.jr-hw-rule {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--sj-teal-tint);
  border: 1px solid #c7e3f3;
  border-radius: 20px;
  padding: 16px 20px;
  margin-bottom: 24px;
}

.jr-hw-rule-i {
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--sj-sky);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sj-card);
  font-weight: 700;
  font-size: 19px;
}

.jr-hw-rule-text { margin: 0; flex: 1 1 auto; font-size: 19px; font-weight: 600; line-height: 1.4; color: var(--sj-ink); text-wrap: pretty; }

.jr-hw-start {
  width: 100%;
  box-sizing: border-box;
  appearance: none;
  border: none;
  cursor: pointer;
  min-height: 82px;
  padding: 0 26px;
  border-radius: 22px;
  background: var(--sj-orange);
  box-shadow: 0 5px 0 var(--sj-orange-deep), 0 12px 24px rgba(181, 69, 10, .2);
  display: flex;
  align-items: center;
  gap: 18px;
  text-align: left;
}

.jr-hw-start:active { transform: translateY(5px); box-shadow: 0 0 0 var(--sj-orange-deep); }
.jr-hw-start-disc { flex: none; width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 253, 248, .24); display: flex; align-items: center; justify-content: center; }
.jr-hw-start-text { flex: 1 1 auto; min-width: 0; }
.jr-hw-start-head { display: block; font-weight: 600; font-size: 26px; color: var(--sj-card); line-height: 1.1; }
.jr-hw-start-sub { display: block; font-size: 17px; font-weight: 600; color: var(--sj-card); margin-top: 2px; }

.jr-hw-guide { flex: 0 0 340px; display: flex; flex-direction: column; gap: 14px; align-items: center; }

.jr-hw-numi-lone {
  flex: none;
  width: 250px;
  height: 250px;
  display: block;
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  filter: drop-shadow(0 12px 18px rgba(35, 50, 44, .16));
}

/* ---------------------------------------------------------------- the paper way */
.jr-hw-paper {
  flex: 1 1 auto;
  min-width: 0;
  background: var(--sj-card);
  border: 1px solid var(--sj-line);
  border-radius: 26px;
  box-shadow: 0 16px 40px rgba(35, 50, 44, .18);
  padding: 28px 34px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.jr-hw-paper-title { margin: 0; font-weight: 700; font-size: 40px; line-height: 1.06; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-paper-blurb { margin: 0; font-family: var(--sj-font-story); font-size: 23px; line-height: 1.45; color: var(--sj-ink); max-width: 54ch; text-wrap: pretty; }
.jr-hw-steps { display: flex; flex-direction: column; gap: 12px; }
.jr-hw-step { display: flex; align-items: center; gap: 14px; padding: 15px 18px; border-radius: 18px; background: var(--sj-stage); border: 1px solid var(--sj-line); }

.jr-hw-step-n {
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--sj-sky);
  color: var(--sj-card);
  font-weight: 700;
  font-size: 19px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jr-hw-step-text { flex: 1 1 auto; font-family: var(--sj-font-story); font-size: 21px; line-height: 1.4; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-grow { flex: 1 1 auto; min-height: 0; }
.jr-hw-paper-actions { display: flex; gap: 14px; flex-wrap: wrap; }

.jr-hw-did {
  appearance: none;
  border: none;
  cursor: pointer;
  min-height: 74px;
  padding: 0 32px;
  border-radius: 22px;
  background: var(--sj-orange);
  color: var(--sj-card);
  font-weight: 700;
  font-size: 23px;
  box-shadow: 0 5px 0 var(--sj-orange-deep);
}

.jr-hw-did:active { transform: translateY(5px); box-shadow: none; }

.jr-hw-notyet {
  appearance: none;
  cursor: pointer;
  min-height: 74px;
  padding: 0 26px;
  border-radius: 22px;
  background: var(--sj-card);
  border: 1.5px solid var(--sj-line);
  box-shadow: 0 4px 0 var(--sj-line);
  font-weight: 600;
  font-size: 20px;
  color: var(--sj-ink);
}

.jr-hw-notyet:active { transform: translateY(4px); box-shadow: none; }

.jr-hw-side { flex: 0 0 372px; display: flex; flex-direction: column; gap: 14px; }

/* Where the photograph of the sheet goes. It is a REPORT, not a placeholder: the panel names
   the file that is not on this tablet rather than drawing a picture that is not there. */
.jr-hw-photo {
  flex: 1 1 auto;
  border-radius: 22px;
  border: 2px dashed #d6cdb9;
  background: repeating-linear-gradient(135deg, #f4efe3 0 12px, var(--sj-line) 12px 24px);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 18px;
}

.jr-hw-photo-note { font-size: 14px; font-weight: 600; line-height: 1.5; text-align: center; color: var(--sj-ink); text-wrap: pretty; }

/* ---------------------------------------------------------------- the work pane */
.jr-hw-col { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.jr-hw-qcard {
  flex: none;
  background: var(--sj-card);
  border: 1px solid var(--sj-line);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(35, 50, 44, .16);
  padding: 22px 28px;
  display: flex;
  align-items: center;
  gap: 22px;
}

.jr-hw-qlabel {
  flex: none;
  white-space: nowrap;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--sj-sky-ink);
  background: var(--sj-teal-tint);
  border: 1px solid #c7e3f3;
  border-radius: var(--sj-r-pill);
  padding: 9px 16px;
}

.jr-hw-q { flex: none; white-space: nowrap; font-weight: 700; font-size: 52px; line-height: 1; color: var(--sj-ink); letter-spacing: -.01em; }
.jr-hw-qhint { flex: none; white-space: nowrap; font-weight: 500; font-size: 16px; color: var(--sj-ink); }

.jr-hw-surfaces {
  flex: 1 1 auto;
  min-height: 0;
  background: var(--sj-card);
  border: 1px solid var(--sj-line);
  border-radius: 24px;
  box-shadow: 0 14px 34px rgba(35, 50, 44, .16);
  padding: 22px 28px;
  display: flex;
  gap: 22px;
}

.jr-hw-surface-col { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.jr-hw-surface-label { font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--sj-ink); }
.jr-hw-answer { flex: none; height: 168px; position: relative; border-radius: 16px; border: 1px solid var(--sj-line); background: #fefdf8; }

.jr-hw-working {
  flex: 1 1 auto;
  min-height: 120px;
  position: relative;
  border-radius: 16px;
  border: 1px dashed #d6cdb9;
  background: repeating-linear-gradient(180deg, transparent 0 42px, var(--sj-line) 42px 43px);
}

.jr-hw-actions { flex: none; display: flex; align-items: center; gap: 12px; }

.jr-hw-secondary {
  appearance: none;
  cursor: pointer;
  min-height: 56px;
  padding: 0 20px;
  border-radius: 16px;
  background: var(--sj-card);
  border: 1.5px solid var(--sj-line);
  box-shadow: 0 4px 0 var(--sj-line);
  font-weight: 600;
  font-size: 18px;
  color: var(--sj-ink);
  white-space: nowrap;
}

.jr-hw-secondary:active { transform: translateY(4px); box-shadow: none; }

.jr-hw-stuck {
  appearance: none;
  cursor: pointer;
  min-height: 56px;
  padding: 0 20px;
  border-radius: 16px;
  background: var(--sj-card);
  border: 1.5px solid #f3c9b8;
  box-shadow: 0 4px 0 #f3c9b8;
  font-weight: 600;
  font-size: 18px;
  color: #a8492a;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.jr-hw-stuck:active { transform: translateY(4px); box-shadow: none; }

.jr-hw-primary {
  appearance: none;
  cursor: pointer;
  min-height: 66px;
  padding: 0 32px;
  border-radius: 18px;
  font-weight: 600;
  font-size: 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}

.jr-hw-primary:active { transform: translateY(5px); box-shadow: none; }

/* ---------------------------------------------------------------- a different one */
.jr-hw-help {
  flex: 1 1 auto;
  min-height: 0;
  background: var(--sj-card);
  border: 2px solid #f3c9b8;
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(35, 50, 44, .14);
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.jr-hw-help-head { display: flex; align-items: baseline; gap: 10px; }
.jr-hw-help-label { font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: #a8492a; }
.jr-hw-help-sum { font-weight: 700; font-size: 26px; color: var(--sj-ink); }
.jr-hw-help-note { margin: 0; font-size: 15px; font-weight: 500; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-help-rows { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
.jr-hw-help-row { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 14px; border-width: 1px; border-style: solid; }

.jr-hw-help-n {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  color: var(--sj-card);
  font-weight: 700;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.jr-hw-help-text { margin: 0; font-family: var(--sj-font-story); font-size: 17px; line-height: 1.35; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-help-actions { display: flex; gap: 10px; }

.jr-hw-help-next {
  flex: 1 1 auto;
  appearance: none;
  border: none;
  cursor: pointer;
  min-height: 56px;
  border-radius: 16px;
  background: var(--sj-orange);
  color: var(--sj-card);
  font-weight: 700;
  font-size: 18px;
  box-shadow: 0 4px 0 var(--sj-orange-deep);
}

.jr-hw-help-next:active { transform: translateY(4px); box-shadow: none; }

.jr-hw-help-back {
  flex: 1 1 auto;
  appearance: none;
  cursor: pointer;
  min-height: 56px;
  border-radius: 16px;
  background: var(--sj-card);
  border: 1.5px solid var(--sj-line);
  font-weight: 600;
  font-size: 18px;
  color: var(--sj-ink);
}

/* ---------------------------------------------------------------- the sheet checklist */
.jr-hw-sheetbox { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 12px; align-items: center; justify-content: flex-end; }
.jr-hw-sheet { align-self: stretch; background: var(--sj-card); border: 1px solid var(--sj-line); border-radius: 20px; padding: 16px 18px; }
.jr-hw-sheet-label { display: block; font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--sj-ink); margin-bottom: 8px; }
.jr-hw-sheet-rows { display: flex; flex-direction: column; gap: 7px; }
.jr-hw-sheet-row { display: flex; align-items: center; gap: 10px; }

.jr-hw-sheet-box {
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sj-card);
}

.jr-hw-sheet-name { font-weight: 600; font-size: 17px; }
.jr-hw-sheet-asked { font-size: 14px; font-weight: 600; color: #a8492a; }

.jr-hw-numi-small {
  width: 180px;
  height: 180px;
  display: block;
  background-size: contain;
  background-position: center bottom;
  background-repeat: no-repeat;
  filter: drop-shadow(0 10px 16px rgba(35, 50, 44, .16));
}

/* ---------------------------------------------------------------- the close */
.jr-hw-idea { background: var(--sj-teal-tint); border: 1px solid #c7e3f3; border-radius: 20px; padding: 18px 22px; margin-bottom: 24px; }
.jr-hw-idea-label { margin: 0 0 6px; font-weight: 600; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; color: var(--sj-sky-ink); }
.jr-hw-idea-line { margin: 0; font-weight: 600; font-size: 24px; color: var(--sj-ink); text-wrap: pretty; }
.jr-hw-idea-note { margin: 6px 0 0; font-size: 17px; font-weight: 500; color: var(--sj-ink); text-wrap: pretty; }

.jr-hw-done-chips { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 26px; }

.jr-hw-done-chip {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 600;
  font-size: 19px;
  border-radius: var(--sj-r-pill);
  padding: 10px 18px;
}

.jr-hw-done-star { color: var(--sj-ink); background: var(--sj-sun-tint); border: 1px solid #f6d98a; }
.jr-hw-done-hand { font-weight: 500; color: var(--sj-ink); background: var(--sj-stage); border: 1px solid var(--sj-line-warm); }

.jr-hw-back {
  appearance: none;
  border: none;
  cursor: pointer;
  min-height: 76px;
  padding: 0 36px;
  border-radius: 22px;
  background: var(--sj-orange);
  color: var(--sj-card);
  font-weight: 700;
  font-size: 25px;
  box-shadow: 0 5px 0 var(--sj-orange-deep);
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.jr-hw-back:active { transform: translateY(5px); box-shadow: none; }

.jr-hw-none-back {
  appearance: none;
  border: none;
  cursor: pointer;
  min-height: 74px;
  padding: 0 34px;
  border-radius: 22px;
  background: var(--sj-orange);
  color: var(--sj-card);
  font-weight: 700;
  font-size: 23px;
  box-shadow: 0 5px 0 var(--sj-orange-deep);
}

.jr-hw-none-back:active { transform: translateY(5px); box-shadow: none; }
