/* Mon programme > Aujourd'hui, version simple (06/11/2026) : anneau d'avancement, un gros bouton, liste à cocher, prochaine évaluation, le reste replié. */
.prog-simple { display: flex; flex-direction: column; gap: .8rem; margin-top: .6rem; }
.prog-simple .card { margin: 0; }

/* --- Bloc du haut --- */
.ps-hero { display: flex; flex-direction: column; gap: .9rem; padding: 1.1rem 1.2rem; }
.ps-top { display: flex; align-items: center; gap: 1rem; }
.ps-ring { --p: 0; flex: none; width: 4.6rem; height: 4.6rem; border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(var(--c16, #16a34a) calc(var(--p) * 1%), color-mix(in srgb, var(--line, #ccd) 80%, transparent) 0); }
.ps-ring > span { width: 3.5rem; height: 3.5rem; border-radius: 50%; display: grid; place-items: center; background: var(--surface, #fff); color: var(--ink, #1d2433); font-weight: 800; font-size: 1.1rem; }
.ps-ring.full > span { background: color-mix(in srgb, var(--c16, #16a34a) 18%, var(--surface, #fff)); }
.ps-head { min-width: 0; }
.ps-date { font-size: .9rem; opacity: .85; }
.ps-big { font-size: 1.45rem; font-weight: 800; line-height: 1.2; }
.ps-streak { white-space: nowrap; }
.ps-go { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; }
.ps-go > button.big { font-size: 1.1rem; padding: .7rem 1.4rem; }
.ps-go-what { min-width: 0; flex: 1 1 12rem; }
.ps-mini { flex-basis: 100%; text-align: left; padding: 0; }
.ps-dur { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; }
.ps-chip { padding: .25rem .75rem; border-radius: 999px; font-size: .88rem; }
.ps-chip[aria-pressed="true"] { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.ps-num { width: 5.5rem; }

/* --- Prochaine évaluation : une ligne --- */
.ps-eval { display: flex; align-items: center; gap: .7rem; padding: .6rem .9rem; border-radius: var(--radius, 12px); text-decoration: none;
  background: var(--card-bg, var(--surface)); border: 1px solid var(--card-line, var(--line)); color: inherit; }
.ps-eval:hover, .ps-eval:focus-visible { border-color: var(--accent); }
.ps-eval-when { flex: none; font-weight: 800; padding: .15rem .6rem; border-radius: 999px; background: color-mix(in srgb, var(--accent) 18%, var(--surface, #fff)); color: var(--ink, #1d2433); }
.ps-eval.soon .ps-eval-when { background: #fde2e2; color: #8a1c1c; }
.ps-eval.none .ps-eval-when { background: transparent; border: 1px dashed currentColor; }
.ps-eval-what { flex: 1; min-width: 0; font-weight: 600; }
.ps-eval-warn { flex: none; font-size: .78rem; padding: .1rem .5rem; border-radius: 999px; background: #fff1d6; color: #7a4a00; }
.ps-eval-n { flex: none; opacity: .8; }
.ps-eval-arrow { flex: none; font-size: 1.4rem; line-height: 1; opacity: .6; }

/* --- Liste à cocher --- */
.ps-list-card { padding: .9rem 1rem; }
.ps-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: .6rem; margin-bottom: .4rem; }
.ps-list-head h2 { margin: 0; font-size: 1.15rem; }
.ps-list { display: flex; flex-direction: column; gap: .3rem; }
.ps-task { display: grid; grid-template-columns: auto auto minmax(0, 1fr) auto auto auto; align-items: center; gap: .55rem; padding: .45rem .55rem; border-radius: 10px;
  background: color-mix(in srgb, var(--surface, #fff) 90%, transparent); color: var(--ink, #1d2433); }
.ps-task.st-termine .ps-title { text-decoration: line-through; opacity: .6; }
.ps-task.st-reporte { opacity: .55; }
.ps-check { width: 1.75rem; height: 1.75rem; min-width: 0; padding: 0; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: 1rem;
  border: 2px solid color-mix(in srgb, var(--ink, #1d2433) 35%, transparent); background: var(--surface, #fff); color: #fff; }
.ps-check[aria-pressed="true"] { background: var(--c16, #16a34a); border-color: var(--c16, #16a34a); }
.ps-task.st-partiel .ps-check, .ps-task.st-a_reprendre .ps-check { color: var(--c17, #d97706); border-color: var(--c17, #d97706); }
.ps-ico { display: grid; place-items: center; width: 1.6rem; opacity: .85; }
.ps-ico svg, .ps-ico img { width: 1.3rem; height: 1.3rem; }
.ps-title { font-weight: 600; overflow-wrap: anywhere; }
.ps-state { color: var(--c17, #b45309); }
.ps-min { white-space: nowrap; opacity: .75; }
.ps-more, .ps-play { min-width: 0; padding: .2rem .55rem; border-radius: 8px; line-height: 1.2; }
.ps-more { background: transparent; border-color: transparent; font-size: 1.1rem; }
.ps-play { background: var(--accent); color: var(--accent-ink); border-color: var(--accent); }
.ps-play-ph { width: 2rem; }
.ps-pause { padding: .1rem .6rem; opacity: .7; }
.ps-setup { margin: 0; }

/* --- Voir plus --- */
.ps-more-box { border-radius: var(--radius, 12px); background: var(--card-bg, var(--surface)); border: 1px solid var(--card-line, var(--line)); padding: .2rem 1rem; }
.ps-more-box > summary { cursor: pointer; padding: .7rem 0; font-weight: 600; }
.ps-more-box[open] > summary { border-bottom: 1px solid var(--line); margin-bottom: .6rem; }
.ps-more-box > .stack { padding-bottom: 1rem; }
.ps-sub h3 { margin: .6rem 0 0; font-size: 1rem; }
.ps-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .35rem; }
.ps-wd { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .35rem .1rem; border-radius: 8px; }
.ps-wd.today { outline: 2px solid var(--accent); }
.ps-wd.rest { opacity: .55; }
.ps-wd-n { font-weight: 700; text-transform: capitalize; font-size: .85rem; }
.ps-wd-bar { width: .9rem; height: 3.2rem; border-radius: 6px; background: color-mix(in srgb, var(--line, #ccd) 70%, transparent); display: flex; align-items: flex-end; overflow: hidden; }
.ps-wd-bar > span { width: 100%; background: var(--accent); border-radius: 6px; }
.ps-wd-m { white-space: nowrap; font-size: .75rem; }

@media (max-width: 560px) {
  .ps-ring { width: 3.8rem; height: 3.8rem; } .ps-ring > span { width: 2.9rem; height: 2.9rem; font-size: 1rem; }
  .ps-big { font-size: 1.2rem; }
  .ps-go > button.big { width: 100%; }
  .ps-task { grid-template-columns: auto minmax(0, 1fr) auto auto; gap: .4rem; }
  .ps-ico, .ps-play-ph { display: none; }
  .ps-check { grid-column: 1; grid-row: 1 / span 2; } .ps-t { grid-column: 2; }
  .ps-min { grid-column: 2; grid-row: 2; }
  .ps-more { grid-column: 3; grid-row: 1 / span 2; } .ps-play { grid-column: 4; grid-row: 1 / span 2; }
  .ps-eval { flex-wrap: wrap; } .ps-eval-what { flex-basis: 60%; }
}

/* Lignes de tâches et anneau sur fond clair : le texte reste foncé quel que soit le thème (les thèmes illustrés posent une encre blanche sur les blocs). */
:root:root .ps-task, :root:root .ps-task *:not(.ps-play):not(.ps-check), :root:root .ps-ring > span, :root:root .ps-eval-when, :root:root .ps-eval-warn { color: #1d2433 !important; -webkit-text-fill-color: #1d2433 !important; -webkit-text-stroke: 0 !important; text-shadow: none !important; }
:root:root .ps-task .ps-state { color: #b45309 !important; -webkit-text-fill-color: #b45309 !important; }
:root:root .ps-eval.soon .ps-eval-when { color: #8a1c1c !important; -webkit-text-fill-color: #8a1c1c !important; }
:root:root .ps-check { -webkit-text-fill-color: currentColor !important; }
:root:root .ps-check[aria-pressed="true"] { color: #fff !important; -webkit-text-fill-color: #fff !important; }
:root:root .ps-more-box .notice, :root:root .ps-more-box .notice * { color: #1d2433 !important; -webkit-text-fill-color: #1d2433 !important; text-shadow: none !important; -webkit-text-stroke: 0 !important; }
:root:root .ps-more-box .notice a { color: #1f5f8b !important; -webkit-text-fill-color: #1f5f8b !important; }

/* --- Camembert 3D de l'importance des tâches (06/11/2026) --- */
.ps-today { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 1rem; align-items: start; }
.ps-pie-box { display: flex; flex-direction: column; gap: .4rem; padding: .6rem; border-radius: 12px; background: color-mix(in srgb, var(--surface, #fff) 92%, transparent); }
.ps-pie { width: 100%; height: auto; overflow: visible; filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .18)); }
.ps-pie path, .ps-pie text { transition: transform .18s ease; }
.ps-slice { cursor: pointer; outline: none; }
.ps-slice.done { cursor: default; }
.ps-slice:focus-visible { stroke: #1d2433; stroke-width: 3; }
.ps-pie-lab { font: 800 13px system-ui, sans-serif; fill: #fff; stroke: rgba(0, 0, 0, .55); stroke-width: 3px; paint-order: stroke fill; }
.ps-pie-legend { display: flex; flex-wrap: wrap; gap: .25rem .8rem; font-size: .82rem; }
.ps-leg { display: inline-flex; align-items: center; gap: .35rem; }
.ps-sw { width: .75rem; height: .75rem; border-radius: 3px; flex: none; }
.ps-pie-note { margin: 0; }
.ps-task { border-left: 5px solid var(--dot, transparent); transition: box-shadow .15s, transform .15s; }
.ps-task.hl { box-shadow: 0 0 0 2px var(--dot, var(--accent)); transform: translateX(3px); }
:root:root .ps-pie-box, :root:root .ps-pie-box *:not(a):not(text):not(svg):not(g):not(path) { color: #1d2433 !important; -webkit-text-fill-color: #1d2433 !important; -webkit-text-stroke: 0 !important; text-shadow: none !important; }
:root:root .ps-pie-box a { color: #1f5f8b !important; -webkit-text-fill-color: #1f5f8b !important; }
@media (max-width: 760px) { .ps-today { grid-template-columns: minmax(0, 1fr); } .ps-pie-box { max-width: 340px; width: 100%; justify-self: center; } }
