/* talent screens: styles for this module only. Loaded after index.html and theme.css, so a plain selector here wins ties. */
.tl-ic{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;color:#fff;flex:none;background:linear-gradient(135deg,var(--c1),var(--c2));box-shadow:0 6px 14px -6px rgba(var(--cg),.55)}
.tl-ic i,.tl-ic svg{width:18px;height:18px}
.tl-ic.sm{width:26px;height:26px;border-radius:8px;box-shadow:none}
.tl-ic.sm i,.tl-ic.sm svg{width:14px;height:14px}
.tl-ic.lg{width:48px;height:48px;border-radius:16px}
.tl-ct{display:inline-flex;align-items:center;gap:.5rem}
.tl-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c1);flex:none}
.tl-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 1rem}

/* meters */
.tl-m{height:8px;border-radius:99px;background:rgba(var(--cg),.14);overflow:hidden}
.tl-m i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--c1),var(--c2));transform-origin:left;animation:db-grow .7s ease-out both}
.tl-kf{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#64748b}
.tl-kf .tl-m{flex:1;min-width:48px}

/* progress ring */
.tl-ring{position:relative;display:inline-grid;place-items:center;flex:none}
.tl-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tl-ring circle{fill:none;stroke-width:3.4}
.tl-ring .tk{stroke:rgba(var(--cg),.15)}
.tl-ring .fg{stroke:var(--c1);stroke-linecap:round}
.tl-ring b{position:relative;font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;color:#1e293b}

/* goals */
.tl-goal{border-left:3px solid var(--c1)}
.tl-seg{display:flex;gap:4px}
.tl-seg i{flex:1;height:6px;border-radius:99px;background:var(--c1)}
.tl-ci{padding-top:.75rem;border-top:1px solid rgba(var(--cg),.15)}

/* stage trackers */
.tl-step,.tl-path{display:flex;list-style:none;margin:0;padding:0;gap:0;counter-reset:none}
.tl-step li,.tl-path li{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;min-width:0}
.tl-step li+li::before,.tl-path li+li::before{content:"";position:absolute;top:11px;right:50%;width:100%;height:2px;background:#e2e8f0}
.tl-step li.is-done+li::before,.tl-step li.is-cur::before,.tl-path li.is-done+li::before,.tl-path li.is-cur::before{background:#6366f1}
.tl-step .d,.tl-path .d{position:relative;z-index:1;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid #cbd5e1;font-size:.7rem;font-weight:600;color:#64748b}
.tl-step .d i,.tl-path .d i,.tl-step .d svg,.tl-path .d svg{width:13px;height:13px}
.tl-step .l,.tl-path .l{font-size:.72rem;color:#64748b;line-height:1.2;padding:0 2px}
.tl-step li.is-done .d,.tl-path li.is-done .d{background:#6366f1;border-color:#6366f1;color:#fff}
.tl-step li.is-cur .d,.tl-path li.is-cur .d{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 0 0 5px rgba(99,102,241,.18)}
.tl-step li.is-cur .l,.tl-path li.is-cur .l{color:#4338ca;font-weight:700}
.tl-step li.is-cur .d::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.tl-step.is-compact .l{display:none}
.tl-step.is-compact li.is-cur .l{display:block}
.tl-cyc{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.tl-cyc .tl-step{flex:1;min-width:280px}

/* calibration distribution */
.tl-dist{display:flex;align-items:stretch;gap:1rem;padding:1.25rem 1.25rem 1rem;height:15rem}
.tl-dc{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}
.tl-dc .n{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums}
.tl-dc .col{position:relative;flex:1;width:100%;border-radius:10px;background:rgba(var(--cg),.08);display:flex;align-items:flex-end;overflow:visible}
.tl-dc .col i{display:block;width:100%;border-radius:10px;background:linear-gradient(180deg,var(--c1),var(--c2));transform-origin:bottom}
.tl-dc .col u{position:absolute;left:-3px;right:-3px;height:0;border-top:2px dashed #0f172a;text-decoration:none;opacity:.55}
.tl-dc .v{font-size:.8rem;font-weight:700}
.tl-dc .t{font-size:.68rem;color:#94a3b8}

/* course tiles, feedback, final rating, readiness */
.tl-tile{padding:1rem;border-radius:16px;background:#fff;border:1px solid rgba(124,58,237,.1);box-shadow:0 8px 20px -14px rgba(76,29,149,.3)}
.tl-fb{border-left:3px solid var(--c1)}
.tl-final{display:flex;align-items:center;gap:.6rem;margin-top:.75rem;padding:.6rem .8rem;border-radius:12px;background:rgba(var(--cg),.08)}
.tl-rd{display:inline-flex;align-items:center;white-space:nowrap;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:99px;color:var(--c1);background:rgba(var(--cg),.12);box-shadow:inset 0 0 0 1px rgba(var(--cg),.25)}
@media (prefers-reduced-motion:reduce){.tl-m i{animation:none}}
