<details>/<summary> is the native solution and should be the default. This pattern is only needed when several panels must be open at once (radio instead of checkbox closes the others) or when a visual animation is needed that <details> can't deliver cleanly without interpolate-size.