/* màn chọn bài */
.home-head { display: flex; align-items: center; gap: 14px; padding-top: 6px; }
.home-head h1 { font-size: clamp(28px, 7vw, 38px); }
.home-head p { margin: 4px 0 0; color: var(--ink-soft); font-size: 16px; }
.lessons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.lesson {
  background: var(--card); border: 3px solid var(--sky-deep); border-radius: 22px;
  padding: 14px 14px 12px; text-align: left; display: grid; gap: 6px; min-width: 0;
  box-shadow: 0 5px 0 var(--sky-deep); transition: transform .12s;
}
.lesson:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--sky-deep); }
.lesson .n { font-family: var(--font-display); font-size: 15px; color: var(--ink-soft); }
.lesson .pair { font-family: var(--font-display); font-size: 30px; font-weight: 800; color: var(--btn-blue); line-height: 1; }
.lesson .meta { font-size: 14px; color: var(--ink-soft); }
.stars { letter-spacing: 2px; font-size: 20px; color: var(--gold); min-height: 24px; }
.stars .off { color: #c3d3e3; }
.note { font-size: 14px; color: var(--ink-soft); text-align: center; margin: 6px 0 0; }


/* Chọn tuần (issue 004) */
.week-sec { margin: 4px 0 14px; }
.week-row {
  display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x proximity; padding: 6px 4px 12px;
  -webkit-overflow-scrolling: touch; scrollbar-width: thin;
}
.week-btn {
  flex: 0 0 auto; min-width: 84px; min-height: 56px; padding: 6px 12px; scroll-snap-align: center;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  font-family: var(--font-body); color: #fff; background: var(--btn-blue); border: 3px solid var(--btn-blue);
  border-radius: 16px; cursor: pointer; box-shadow: 0 4px 0 rgba(23,51,90,.35);
}
.week-btn.sel { border-color: var(--gold); outline: 3px solid var(--ink); outline-offset: 1px; font-weight: 800; }
.week-btn:disabled { background: #c3ccd6; border-color: #c3ccd6; color: #6b7785; cursor: not-allowed; box-shadow: none; }
.week-n { font-family: var(--font-display); font-size: 18px; font-weight: 800; }
.week-d { font-size: 12px; opacity: .9; }
.week-lessons { display: grid; grid-template-rows: 1fr; transition: grid-template-rows .3s ease, opacity .3s ease; }
.week-lessons.collapsed { grid-template-rows: 0fr; opacity: 0; }
.week-lessons-in { overflow: hidden; min-height: 0; }
.week-empty { text-align: center; color: var(--ink-soft); font-weight: 700; padding: 20px 0; }
@media (prefers-reduced-motion: reduce) { .week-lessons { transition: none; } }
