/* Pulse Check: loaded after ../hub.css. Same tokens and pieces; a coral accent, answer bars and the heartbeat line. */
:root{ --pulse:#ff4f6d; --pulse-deep:#c8304d; --pulse-glow:rgba(255,79,109,.35); --link:#ffd0d9; }
:root[data-theme="light"]{ --pulse-deep:#c8304d; --pulse-glow:rgba(255,79,109,.22); --link:#c8304d; }
body{
  background:
    radial-gradient(ellipse 80% 55% at 85% -10%, rgba(255,79,109,.16), transparent 60%),
    radial-gradient(ellipse 70% 50% at -10% 110%, rgba(143,125,255,.14), transparent 60%),
    var(--ink) fixed;
}

/* Bars for answer counts */
.bars{display:grid;gap:10px}
.bar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center}
.bar .key{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;font-family:var(--display);font-weight:800;color:#0c0f1e;background:var(--c)}
.bar .track{position:relative;height:42px;border-radius:10px;background:var(--ink);border:1px solid var(--line);overflow:hidden}
.bar .fill{position:absolute;inset:0 auto 0 0;background:color-mix(in srgb,var(--c) 55%,transparent);border-right:3px solid var(--c);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.bar .label{position:relative;z-index:1;display:block;padding:0 12px;line-height:42px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700}
.bar .n{font-family:var(--mono);font-weight:700;min-width:4.5ch;text-align:right}
.bar.correct .key{background:var(--mint)}
.bar.correct .fill{background:color-mix(in srgb,var(--mint) 40%,transparent);border-right-color:var(--mint)}
.bar.correct .label::after{content:"  ✓ correct";color:var(--mint)}
.bar[data-i="0"]{--c:var(--o0)} .bar[data-i="1"]{--c:var(--o1)} .bar[data-i="2"]{--c:var(--o2)}
.bar[data-i="3"]{--c:var(--o3)} .bar[data-i="4"]{--c:var(--o4)} .bar[data-i="5"]{--c:var(--o5)}

/* Heartbeat "waiting" line */
.ecg{width:100%;max-width:420px;height:70px;color:var(--pulse)}
.ecg path{stroke-dasharray:420;animation:ecg 2.2s linear infinite;filter:drop-shadow(0 0 6px var(--pulse-glow))}
@keyframes ecg{from{stroke-dashoffset:420}to{stroke-dashoffset:-420}}
@media (prefers-reduced-motion:reduce){.ecg path{animation:none;stroke-dasharray:none}}

#toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink-4);border:1px solid var(--line);
