/* 學習島 — 今日任務 (hub) + 家長報告 (parent area). Matches the storybook island cards. */

/* ---------- 今日任務 on the hub ---------- */
.mission-bar{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px;margin-top:22px;
  padding:14px 18px;background:#fff;border:1px solid #dce6df;border-radius:26px;box-shadow:0 8px 22px #3a5a4a0d}
.mission-bar.all-done{background:linear-gradient(135deg,#fff8e1,#fff);border-color:#ecd28c}
.mission-head{display:flex;align-items:center;gap:10px;min-width:150px}
.mission-head b{display:block;font-size:20px;color:#233f43}
.mission-head small{display:block;font-size:13px;font-weight:800;color:#6d817d}
.mission-star{font-size:34px;line-height:1}
.mission-bar.all-done .mission-star{animation:mission-pop 1.4s ease-in-out infinite alternate}
.mission-tasks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.mission-task{display:flex;align-items:center;gap:12px;min-height:74px;padding:10px 14px;text-align:left;cursor:pointer;
  border-radius:20px;border:2px solid transparent;font:inherit;color:#294f4c;box-shadow:0 4px 0 #00000012}
.mission-task.math{background:#e3f3f1;border-color:#bfe0dc}
.mission-task.zh{background:#f1f3e1;border-color:#dde2bd}
.mission-task.en{background:#eef3e4;border-color:#cfdcbc}
.mission-task:active{transform:translateY(2px);box-shadow:0 2px 0 #00000012}
.mt-icon{flex:0 0 auto;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#fffdf5;font-size:26px}
.mt-text{min-width:0;display:flex;flex-direction:column}
.mt-text small{font-size:11px;font-weight:800;color:#6d817d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mt-text b{font-size:16px;line-height:1.15;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.mt-text em{font-style:normal;font-size:13px;font-weight:800;color:#397d76}
.mission-task.done{opacity:.72;box-shadow:none}
.mission-task.done .mt-icon{background:#5c9c7d;color:#fff;font-weight:900}
@keyframes mission-pop{to{transform:scale(1.18) rotate(8deg)}}

@media (max-width: 760px){
  .mission-bar{grid-template-columns:1fr;gap:10px;padding:14px}
  .mission-tasks{grid-template-columns:1fr}
  .mission-task{min-height:62px}
}
/* iPad landscape: sit under the three islands without pushing the page into scrolling */
@media (orientation: landscape) and (min-width: 1000px) and (min-height: 600px){
  .mission-bar{margin-top:16px;padding:12px 16px}
  .mission-task{min-height:68px}
}

/* ---------- 家長報告 ---------- */
.insight-report{z-index:60}
.insight-card{width:min(760px,94vw);max-width:none;max-height:88vh;overflow:auto;text-align:left;padding:24px 26px 20px}
.insight-card h2{margin:0;font-size:26px;color:#233f43}
.insight-card h3{margin:20px 0 8px;font-size:16px;color:#397d76}
.ir-sub{margin:4px 0 14px;color:#6d817d;font-weight:700;font-size:13px}
.ir-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.ir-tiles div{background:#f2f6ef;border:1px solid #dce6df;border-radius:16px;padding:10px 12px}
.ir-tiles b{display:block;font-size:26px;color:#233f43;line-height:1.1}
.ir-tiles b span{font-size:15px;color:#6d817d}
.ir-tiles small{font-size:12px;font-weight:800;color:#6d817d}
.ir-chart{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;height:130px;align-items:end;
  padding:8px 10px 4px;background:#f7faf5;border-radius:16px}
.ir-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px}
.ir-col i{display:block;width:70%;min-height:3px;border-radius:8px 8px 3px 3px;background:#9cc9b6}
.ir-col.today i{background:#e3b453}
.ir-col small{font-size:12px;font-weight:800;color:#6d817d}
.ir-min{font-size:11px;font-weight:800;color:#397d76;min-height:14px}
.ir-game{display:grid;grid-template-columns:14px minmax(0,1.3fr) minmax(0,1fr) 44px;align-items:center;gap:4px 10px;
  padding:8px 4px;border-bottom:1px solid #edf1ea}
.ir-game b{font-size:15px;color:#294f4c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ir-game small{grid-column:2/-1;font-size:12px;color:#6d817d;font-weight:700}
.ir-game em{font-style:normal;color:#b0662e;font-weight:900}
.ir-bar{height:10px;border-radius:6px;background:#e7eee4;overflow:hidden}
.ir-bar i{display:block;height:100%;background:#6fae8f;border-radius:6px}
.ir-game.weak .ir-bar i{background:#e0a35b}
.ir-num{font-weight:900;color:#294f4c;text-align:right}
.ir-dot{width:12px;height:12px;border-radius:50%}
.ir-dot.math{background:#5bb3b0}.ir-dot.zh{background:#b5c07a}.ir-dot.en{background:#d49a62}
.ir-chips{display:flex;flex-wrap:wrap;gap:8px}
.ir-chip{display:flex;flex-direction:column;padding:8px 12px;border-radius:14px;border:1px solid #dce6df;background:#fbfcf8}
.ir-chip b{font-size:22px;color:#233f43;line-height:1.1}
.ir-chip small{font-size:11px;font-weight:700;color:#6d817d}
.ir-chip.math{border-color:#bfe0dc}.ir-chip.zh{border-color:#dde2bd}.ir-chip.en{border-color:#e6cdb0}
.ir-empty{margin:4px 0;color:#6d817d;font-weight:700;font-size:14px}
.ir-close{display:flex;margin:22px auto 0}
@media (max-width: 600px){ .ir-tiles{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (prefers-reduced-motion: reduce){ .mission-bar.all-done .mission-star{animation:none} }
