/* CHECKMATE · ONE DECK, ONE WORLD, DIFFERENT SOULS.
   Visual-only enhancement for the authenticated Student and Coach Boards.
   Every existing destination, action, state machine, and permission stays in place.
   No effects imply a person acted, a task completed, or a win was earned. */
:root {
  --cm-forest: #063f2f;
  --cm-forest-deep: #04291f;
  --cm-evergreen: #136349;
  --cm-parchment: #fffaf0;
  --cm-gold: #c9a044;
  --cm-gold-soft: #f2e2ae;
  --cm-quiet-line: #dae5de;
  --cm-shadow: 0 16px 42px rgba(9, 53, 39, .09);
}

/* The Boards feel like the same physical world, not unrelated dashboards. */
.board-page, .coach-page {
  background:
    radial-gradient(ellipse 75% 38% at 48% -10%, rgba(198, 157, 55, .105), transparent 72%),
    linear-gradient(180deg, #fbfcf9 0%, #f5f8f5 100%);
}
.board-page .topbar, .coach-page .topbar {
  border-bottom: 2px solid rgba(223, 184, 85, .7);
  background: linear-gradient(104deg, var(--cm-forest-deep), var(--cm-forest) 64%, #0b513c);
  box-shadow: 0 5px 18px rgba(4, 35, 26, .11);
}
.board-page .brand img, .coach-page .brand img {
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.16));
}

/* A welcoming collegiate opening — ornamental, not busy. */
.board-page .board-header.student-greeting-header {
  overflow: hidden;
  border: 1px solid rgba(178, 145, 57, .35);
  border-radius: 23px;
  box-shadow: 0 14px 36px rgba(8, 59, 43, .085), inset 0 0 0 1px rgba(255,255,255,.7);
  background:
    radial-gradient(ellipse 58% 88% at 99% 3%, rgba(239, 199, 97, .16), transparent 80%),
    repeating-conic-gradient(rgba(6,63,47,.035) 0% 25%, transparent 0% 50%) 0 0 / 38px 38px,
    linear-gradient(138deg, #fffef8, #f2f7ef 83%);
}
.board-page .student-greeting-header .greeting-copy { z-index: 1; }
.board-page .student-greeting-header .page-title {
  color: var(--cm-forest-deep);
  text-wrap: balance;
  text-shadow: 0 1px 0 rgba(255,255,255,.85);
}
.board-page .student-greeting-header .student-welcome-note {
  color: #426653;
  letter-spacing: -.01em;
}
.board-page .greeting-utility-row { border-top-color: rgba(172, 144, 64, .22); }
.board-page .greeting-utility-row button,
.board-page .greeting-account-actions button {
  transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}
.board-page .greeting-utility-row button:hover,
.board-page .greeting-account-actions button:hover {
  border-color: rgba(179, 143, 47, .58);
  background: #fffdf6;
  box-shadow: 0 5px 16px rgba(23, 71, 49, .075);
}

/* WHAT MATTERS MOST: one unmistakable action, no new competing dashboard. */
.board-page .role-section-divider.priority { margin-bottom: 13px; }
.board-page .role-section-divider.priority span { color: #735719; }
.board-page .role-section-divider.priority i {
  height: 2px;
  background: linear-gradient(90deg, rgba(194, 148, 45, .65), rgba(194, 148, 45, 0));
}
.board-page .student-current-move {
  position: relative;
  overflow: hidden;
  border-color: rgba(179, 146, 53, .55);
  background: linear-gradient(145deg, #fffefa 0%, #fff 54%, #f2f8f3 100%);
  box-shadow: inset 0 4px 0 var(--cm-gold), 0 15px 37px rgba(8, 52, 37, .11);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.board-page .student-current-move::after {
  content: '';
  pointer-events: none;
  position: absolute;
  top: 9px;
  right: 10px;
  width: 58px;
  height: 58px;
  border-top: 1px solid rgba(198, 161, 64, .38);
  border-right: 1px solid rgba(198, 161, 64, .38);
  border-radius: 0 10px 0 0;
}
.board-page .student-current-move:hover {
  border-color: #b6923d;
  transform: translateY(-1px);
  box-shadow: inset 0 4px 0 var(--cm-gold), 0 18px 41px rgba(8, 52, 37, .13);
}
.board-page .student-current-move-main>strong { letter-spacing: -.03em; line-height: 1.13; }
.board-page .student-current-move-footer i { background: #f5edce; color: #654e16; }
.board-page .student-current-move.waiting,
.board-page .student-current-move.coach,
.board-page .student-current-move.quiet {
  border-color: var(--cm-quiet-line);
  background: linear-gradient(145deg, #fafdfe, #f4f8f5);
  box-shadow: inset 0 4px 0 #8da79b, 0 7px 23px rgba(8, 52, 37, .055);
}
.board-page .student-current-move.waiting::after,
.board-page .student-current-move.coach::after,
.board-page .student-current-move.quiet::after { border-color: rgba(107, 146, 128, .22); }

/* Connected support: a warm invitation from the same teammate. */
.board-page .board-zone-support {
  border: 1px solid rgba(47, 107, 76, .09);
  background: linear-gradient(130deg, #eef6ef, #f9faf5 57%, #f5f1e8);
  box-shadow: 0 8px 24px rgba(8, 52, 37, .04);
}
.board-page .board-support-preview,
.board-page .connected-move-support,
.board-page .open-loop-card {
  border-radius: 15px;
  box-shadow: 0 6px 22px rgba(11, 62, 43, .035);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.board-page button.board-support-preview:hover,
.board-page button.open-loop-card:hover,
.board-page button.board-details-home-card:hover {
  border-color: #bb9b55 !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 27px rgba(8, 52, 37, .085);
}
.board-page .connected-move-support {
  border-left: 4px solid var(--cm-gold);
  background: linear-gradient(135deg, #fffcf1, #fff 74%);
}
.board-page .current-move-why-visible {
  border-left-color: #b9953c;
  background: #fcf7e9;
}
.board-page .board-details-home-card {
  border-top: 2px solid rgba(189, 154, 67, .34) !important;
  background: linear-gradient(140deg, #fffefb, #f5f8f2) !important;
}
.board-page .semester-world-entry {
  background: linear-gradient(130deg, #0e4939, #12382e 75%, #6b5824) !important;
  border-color: #b99a53 !important;
  box-shadow: 0 13px 28px rgba(5, 51, 34, .13);
}
.board-page .semester-world-entry small,
.board-page .semester-world-entry>b { color: #f5d888; }
.board-page .semester-world-entry strong { color: #fffdf4; }
.board-page .semester-world-entry em { color: #e0e9de; }

/* Coach = the same Checkmate, with an operational rather than festive mood. */
.coach-page .coach-head h1 { letter-spacing: -.045em; }
.coach-page .coach-priority-workspace {
  border-left-color: #2d8064;
  border-top: 1px solid rgba(195, 163, 72, .22);
  box-shadow: var(--cm-shadow);
}
.coach-page .coach-home-team-pulse {
  border: 1px solid rgba(174, 158, 104, .25);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
  background: linear-gradient(150deg, #f6faf5, #fffefa);
}
.coach-page .coach-home-team-state>button {
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.coach-page .coach-home-team-state>button:hover {
  transform: translateY(-1px);
  border-color: rgba(120, 155, 132, .55);
  box-shadow: 0 7px 17px rgba(7, 49, 34, .06);
}
.coach-page .coach-home-team-state>button.needs {
  background: linear-gradient(180deg, #fffefb, #fff8ef);
}
.coach-page .coach-teammate-relationship,
.coach-page .coach-mutual-commitments {
  border-color: rgba(193, 158, 66, .38);
  background: linear-gradient(130deg, #fffef8, #f3f7ef);
  box-shadow: 0 6px 22px rgba(8, 52, 37, .045);
}
.coach-page .coach-teammate-relationship strong { letter-spacing: -.01em; }
.coach-page .coach-priority-list>button:focus-visible,
.coach-page .coach-home-team-state>button:focus-visible,
.board-page .student-current-move:focus-visible,
.board-page .board-support-preview:focus-visible,
.board-page .greeting-utility-row button:focus-visible,
.board-page .greeting-account-actions button:focus-visible,
.board-page .board-details-home-card:focus-visible {
  outline: 3px solid #9a7427;
  outline-offset: 3px;
}

/* Championship energy is reserved for the app's existing evidence-backed win states. */
.board-page .student-today-card.win,
.board-page .earned-identity-moment:not(.building) {
  border-color: #caa950;
  box-shadow: 0 13px 36px rgba(108, 83, 20, .14);
}
.board-page .checkmate-ready-to-celebrate.checkmate-celebrating {
  filter: drop-shadow(0 5px 17px rgba(203, 154, 41, .16));
}

/* The brand stays legible and interactive on phones and for reduced-motion users. */
@media (max-width: 640px) {
  .board-page .board-header.student-greeting-header { border-radius: 17px; }
  .board-page .student-current-move { border-radius: 15px; }
  .board-page .student-current-move::after { width: 33px; height: 33px; }
  .board-page .board-zone-support { border-radius: 16px; }
  .coach-page .coach-priority-workspace { box-shadow: 0 6px 22px rgba(8, 52, 37, .075); }
}
@media (prefers-reduced-motion: reduce) {
  .board-page .student-current-move,
  .board-page .greeting-utility-row button,
  .board-page .greeting-account-actions button,
  .board-page .board-support-preview,
  .board-page .open-loop-card,
  .board-page .board-details-home-card,
  .coach-page .coach-home-team-state>button { animation: none !important; transition: none !important; transform: none !important; }
}
