/* Pulse page — the live hero panel and the frustration test area. */
.pulse-live { box-shadow: 0 40px 120px -40px color-mix(in srgb, var(--pp-accent) 25%, transparent); }
.pulse-beat { width: 100%; height: 70px; display: block; margin: -4px 0 12px; }
.pulse-beat path { stroke-dasharray: 900; stroke-dashoffset: 900; animation: pulse-draw 3.2s linear infinite; filter: drop-shadow(0 0 6px var(--pp-accent)); }
@keyframes pulse-draw { to { stroke-dashoffset: -900; } }
.pulse-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pulse-kpi { padding: 14px 16px; border-radius: 14px; background: var(--pp-bg); border: 1px solid var(--pp-line); }
.pulse-kpi span { display: block; font: 500 11px/1 var(--pp-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pp-dim); }
.pulse-kpi b { display: block; margin: 8px 0 4px; font: 400 34px/1 var(--pp-serif); font-variant-numeric: tabular-nums; }
.pulse-kpi b.is-good { color: var(--pp-green); } .pulse-kpi b.is-mid { color: var(--pp-amber); } .pulse-kpi b.is-bad { color: var(--pp-red); }
.pulse-kpi small { color: var(--pp-dim); font-size: 12px; }
.pulse-seo ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; font-size: 13px; }
.pulse-seo li { display: flex; gap: 8px; align-items: center; color: var(--pp-mute); }
.pulse-seo li::before { content: '✓'; color: var(--pp-green); font-weight: 700; }
.pulse-seo li.is-bad::before { content: '✗'; color: var(--pp-red); }
.pulse-play { display: grid; gap: 18px; }
.pulse-rage { justify-self: start; }
.pulse-rage.is-hit { animation: pulse-shake .4s; }
@keyframes pulse-shake { 25% { transform: translateX(-6px); } 50% { transform: translateX(6px); } 75% { transform: translateX(-3px); } }
.pulse-dead { margin: 0; padding: 14px 16px; border-radius: 12px; border: 1px dashed var(--pp-line-2); color: var(--pp-mute); cursor: default; }
.pulse-scrollbox { height: 150px; overflow-y: auto; padding: 4px 16px; border-radius: 12px; background: var(--pp-bg); border: 1px solid var(--pp-line); color: var(--pp-mute); line-height: 1.6; }
.pulse-scrollbox p { margin: 14px 0 70px; }
@media (max-width: 520px) { .pulse-seo ul { grid-template-columns: 1fr; } .pulse-kpi b { font-size: 28px; } }
