.pe-v2 .pev2-c2-evo-trajectory { min-width: 0; }
.pe-trajectory {
  --trajectory-green: #28664c;
  --trajectory-blue: #1744bf;
  --trajectory-tile: #f2f4f6;
  --trajectory-tile-current: #f0f3fb;
  color: var(--pe-text, #101d3d);
}
.pe-trajectory__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.pe-trajectory__head .pev2-card-title { display: flex; align-items: center; gap: 9px; margin: 0; }
.pe-trajectory__head .pev2-card-title svg { color: var(--trajectory-green); flex: none; }
.pe-trajectory__subtitle { margin: 9px 0 0; color: var(--pe-text-muted, #536581); font-size: 13px; line-height: 1.5; }
.pe-trajectory__badge { padding: 5px 8px; border-radius: 6px; background: var(--trajectory-tile-current); color: var(--trajectory-blue); font-size: 10px; font-weight: 700; white-space: nowrap; }
.pe-trajectory__scroll { overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: #bdc9d8 transparent; border-radius: 18px; padding: 3px 2px 6px; }
.pe-trajectory__scroll:focus-visible { outline: 2px solid var(--trajectory-blue); outline-offset: 3px; }
.pe-trajectory__plot { position: relative; height: 248px; width: 100%; }
.pe-trajectory__plot--wide { min-width: 510px; }
.pe-trajectory__columns { display: grid; height: 248px; gap: 10px; }
.pe-trajectory__week { appearance: none; background: var(--trajectory-tile); border: 1.5px solid transparent; border-radius: 21px; font: inherit; color: var(--pe-text, #101d3d); padding: 17px 4px 18px; cursor: pointer; display: flex; flex-direction: column; align-items: center; justify-content: space-between; min-width: 0; transition: background .15s ease, border-color .15s ease; }
.pe-trajectory__week:hover { background: var(--pe-surface-accent, #e8edf2); }
.pe-trajectory__week.is-current { border-color: var(--trajectory-blue); background: var(--trajectory-tile-current); color: var(--trajectory-blue); }
.pe-trajectory__week.is-selected:not(.is-current) { border-color: var(--trajectory-green); }
.pe-trajectory__week:focus-visible { outline: 3px solid var(--trajectory-blue); outline-offset: 2px; }
.pe-trajectory__date { font-size: 12px; font-weight: 700; letter-spacing: .02em; }
.pe-trajectory__value { font-size: 21px; line-height: 1.2; font-weight: 750; font-variant-numeric: tabular-nums; }
.pe-trajectory__value small { display: block; margin-top: 5px; font-size: 9px; font-weight: 500; color: var(--pe-text-muted, #536581); }
.pe-trajectory__svg { position: absolute; inset: 0; display: block; width: 100%; height: 248px; pointer-events: none; }
.pe-trajectory__detail { margin: 13px 2px 0; display: flex; flex-wrap: wrap; align-items: center; gap: 5px 8px; color: var(--pe-text-muted, #536581); font-size: 11px; min-height: 18px; line-height: 1.5; }
.pe-trajectory__detail strong { color: var(--pe-text, #101d3d); font-weight: 650; }
.pe-trajectory__scroll-hint { display: block; margin: 5px 2px 0; color: var(--pe-text-muted, #536581); font-size: 10px; }
.pe-trajectory__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--trajectory-green); flex: none; }
.pe-trajectory__dot.is-current { background: var(--trajectory-blue); }
.pe-trajectory__empty { min-height: 180px; display: grid; place-items: center; padding: 24px; text-align: center; border-radius: 20px; background: var(--trajectory-tile); color: var(--pe-text-muted); font-size: 13px; }
[data-theme="dark"] .pe-trajectory { --trajectory-green: #68b995; --trajectory-blue: #8baaff; --trajectory-tile: #19283f; --trajectory-tile-current: #1b2d51; }
.pe-performance .ppe-charts { grid-template-columns: repeat(auto-fit, minmax(min(100%, 450px), 1fr)); align-items: start; }
.pe-performance .pe-trajectory { --pe-text: var(--ppe-text); --pe-text-muted: var(--ppe-muted); --pe-surface: var(--ppe-card); --pe-surface-accent: var(--ppe-line); }
.pe-trajectory--compact { --trajectory-green: var(--trajectory-base); --trajectory-blue: var(--trajectory-base); }
.pe-trajectory--compact .pe-trajectory__plot--wide { min-width: 420px; }
.pe-trajectory--compact .pe-trajectory__value { font-size: 19px; white-space: nowrap; }
.pe-performance .pe-trajectory__head { margin-bottom: 18px; }
.pe-performance .pe-trajectory__head h2 { margin: 0; font-size: 15px; line-height: 1.4; }
.pe-performance .pe-trajectory__subtitle { margin: 8px 0 0; font-size: 11px; min-height: 33px; }
.pe-performance .pe-trajectory__detail { margin: 12px 2px 0; font-size: 10px; }
.pe-trajectory--compact[data-metric="accuracyPct"] { --trajectory-tile-current: #eef6f2; }
.pe-trajectory--compact[data-metric="hours"] { --trajectory-tile-current: #f3f0fa; }
.pe-trajectory--compact[data-metric="questions"] { --trajectory-tile-current: #eef3fc; }
[data-theme="dark"] .pe-trajectory--compact[data-metric="accuracyPct"] { --trajectory-green: #76d9b2; --trajectory-blue: #76d9b2; --trajectory-tile-current: #183b36; }
[data-theme="dark"] .pe-trajectory--compact[data-metric="hours"] { --trajectory-green: #b4a2ff; --trajectory-blue: #b4a2ff; --trajectory-tile-current: #302b4d; }
[data-theme="dark"] .pe-trajectory--compact[data-metric="questions"] { --trajectory-green: #96b9ff; --trajectory-blue: #96b9ff; --trajectory-tile-current: #21385e; }
@media (max-width: 640px) {
  .pe-trajectory__head { margin-bottom: 17px; }
  .pe-trajectory__badge { font-size: 9px; padding: 5px 7px; }
  .pe-trajectory__subtitle { font-size: 12px; }
  .pe-trajectory__detail { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) { .pe-trajectory__week { transition: none; } }
@media print {
  .pe-trajectory__scroll { overflow: visible; }
  .pe-trajectory__plot--wide, .pe-trajectory--compact .pe-trajectory__plot--wide { min-width: 0; }
  .pe-trajectory__week { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .pe-trajectory__scroll-hint { display: none; }
}
