/* Learn Embedded Systems: small, calm additions on top of Material. */

:root {
  --les-accent: #0f766e;
  --les-accent-soft: rgba(15, 118, 110, 0.12);
  --les-done: #16a34a;
}
[data-md-color-scheme="slate"] {
  --les-accent: #2dd4bf;
  --les-accent-soft: rgba(45, 212, 191, 0.14);
  --les-done: #4ade80;
}

/* Progress pill under each module title */
.les-progress-holder { margin: -0.4rem 0 1.2rem; }
.les-progress-pill {
  display: inline-flex; align-items: center; gap: 0.6rem; flex-wrap: wrap;
  font-size: 0.72rem; color: var(--md-default-fg-color--light);
}
.les-progress-pill__done { color: var(--les-done); font-weight: 600; }
.les-progress-bar {
  display: inline-block; width: 8rem; height: 0.35rem; border-radius: 999px;
  background: var(--les-accent-soft); overflow: hidden; vertical-align: middle;
}
.les-progress-bar--big { width: 100%; height: 0.55rem; margin-top: 0.4rem; }
.les-progress-bar__fill { display: block; height: 100%; background: var(--les-accent); transition: width 0.25s ease; }

/* Checked items fade slightly so the remaining work stands out */
.md-typeset li.les-done { opacity: 0.68; }
.md-typeset .task-list-control { cursor: pointer; }
.md-typeset .task-list-item { margin-bottom: 0.45em; }

/* Overview panel on the home page */
.les-overview__head { font-size: 0.85rem; margin-bottom: 1rem; }
.les-overview__section h4 {
  margin: 1rem 0 0.3rem; font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--md-default-fg-color--light);
}
.md-typeset .les-overview__section ul { list-style: none; margin: 0; padding: 0; }
.md-typeset .les-overview__row {
  display: grid; grid-template-columns: 1fr auto 8rem; gap: 0.6rem; align-items: center;
  padding: 0.3rem 0; margin: 0; font-size: 0.78rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}
.les-overview__row .les-progress-bar { width: 100%; }
.les-overview__count { color: var(--md-default-fg-color--light); font-variant-numeric: tabular-nums; }
.les-overview__row--done a::after { content: " \2713"; color: var(--les-done); }
@media (max-width: 40em) {
  .md-typeset .les-overview__row { grid-template-columns: 1fr auto; }
  .les-overview__row .les-progress-bar { grid-column: 1 / -1; }
}

/* Tools */
.les-tools__box { width: 100%; margin-top: 0.6rem; font-family: var(--md-code-font-family); font-size: 0.7rem; }
.les-tools__msg { font-size: 0.75rem; color: var(--md-default-fg-color--light); }
.md-typeset .les-danger { --md-primary-fg-color: #b91c1c; border-color: #b91c1c; color: #b91c1c; }

/* Resource line tags */
.md-typeset .les-tag {
  display: inline-block; font-size: 0.62rem; line-height: 1; padding: 0.25em 0.55em; border-radius: 999px;
  background: var(--les-accent-soft); color: var(--les-accent); font-weight: 600;
  letter-spacing: 0.02em; vertical-align: middle; margin-right: 0.3rem;
}
.md-typeset .les-paid { background: rgba(217, 119, 6, 0.15); color: #b45309; }
[data-md-color-scheme="slate"] .md-typeset .les-paid { color: #fbbf24; }
.md-typeset .les-time { font-size: 0.7rem; color: var(--md-default-fg-color--light); white-space: nowrap; }

/* Phase cards on the home page */
.les-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); gap: 0.8rem; margin: 1rem 0 1.5rem; }
.les-card {
  border: 1px solid var(--md-default-fg-color--lightest); border-radius: 0.6rem;
  padding: 0.9rem 1rem; background: var(--md-default-bg-color);
}
.md-typeset .les-card .les-card__title { margin: 0.1rem 0 0.3rem; font-size: 0.95rem; font-weight: 600; color: var(--md-default-fg-color); }
.md-typeset .les-card p { margin: 0.2rem 0 0.5rem; font-size: 0.75rem; color: var(--md-default-fg-color--light); }
.md-typeset .les-card ul { margin: 0; padding-left: 1rem; font-size: 0.75rem; }
.les-kicker { font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--les-accent); font-weight: 700; }

/* Slightly softer headings */
.md-typeset h1 { font-weight: 600; }
.md-typeset h2 { font-weight: 600; margin-top: 2rem; }
