@keyframes pt-pop{50%{transform:scale(1.35)}}.pulse-timer{border:1px solid var(--border-strong, rgba(0,0,0,.18));background:var(--surface);border-radius:var(--radius-lg, 16px);padding:1.25rem;margin:1.5rem 0;display:grid;gap:1rem}.pt-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}.pt-label{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary)}.pt-durations{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:3px;gap:2px}.pt-dur{font:inherit;font-size:13px;font-weight:600;border:0;background:0 0;color:var(--text-secondary);padding:5px 12px;border-radius:999px;cursor:pointer}.pt-dur[aria-pressed=true]{background:var(--accent);color:#fff}.pt-dur:disabled{cursor:not-allowed;opacity:.6}.pt-dial{display:grid;justify-items:center;gap:.35rem;text-align:center}.pt-time{font-size:clamp(48px,12vw,72px);font-weight:700;line-height:1;color:var(--text);font-variant-numeric:tabular-nums}.pulse-timer.is-counting .pt-time{color:var(--accent)}.pt-status{font-size:14px;color:var(--text-secondary);margin:0;max-width:46ch;min-height:2.8em}.pt-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}.pt-start{justify-content:center;min-width:9rem}.pt-start svg{fill:#fff;stroke:none;width:14px;height:14px}.pt-tap{font:inherit;font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border-radius:var(--radius-md, 10px);border:1px solid var(--border-strong, rgba(0,0,0,.18));background:var(--surface);color:var(--text);cursor:pointer;font-variant-numeric:tabular-nums;touch-action:manipulation}.pt-tap:disabled{cursor:not-allowed;opacity:.5}.pt-pop .pt-heart{animation:pt-pop .18s ease-out}.pt-form{display:grid;gap:.4rem;border-top:1px solid var(--border);padding-top:1rem}.pt-form label{font-size:13px;font-weight:600;color:var(--text)}.pt-row{display:flex;flex-wrap:wrap;gap:.5rem}.pt-calc,.pt-row input{font:inherit;border-radius:var(--radius-md, 10px)}.pt-row input{font-size:16px;flex:1 1 8rem;min-width:0;padding:10px 12px;border:1px solid var(--border-strong, rgba(0,0,0,.18));background:var(--bg);color:var(--text)}.pt-calc{font-size:14px;font-weight:600;padding:10px 16px;border:1px solid var(--accent);background:0 0;color:var(--accent);cursor:pointer}.pt-row input:focus-visible,.pulse-timer button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pt-error{font-size:13px;color:var(--accent);margin:0}.pt-result{background:var(--surface2, rgba(0,0,0,.04));border-radius:var(--radius-md, 10px);padding:1rem 1.1rem;display:grid;gap:.5rem}.pt-result-top{display:flex;flex-wrap:wrap;align-items:baseline;gap:.75rem}.pt-bpm{font-size:34px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}.pt-bpm small{font-size:14px;font-weight:600;color:var(--text-tertiary)}.pt-cat{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 10px;border-radius:999px;color:#141412}.pt-cat-a{background:#5dcaa5}.pt-cat-e{background:#378add}.pt-cat-g{background:#ef9f27}.pt-cat-v{background:#e2894b}.pt-cat-b{background:#e24b4a}.pt-note{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.6}.pt-link{font-size:14px;font-weight:600;color:var(--accent);text-decoration:none}.pt-link:hover{text-decoration:underline}@media (prefers-reduced-motion:reduce){.pt-pop .pt-heart{animation:none}}